问题标签 [jsonconvert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 为什么在反序列化到字典时 JsonConvert 抛出异常
我在将 JSON 字符串序列化为键/值字典时遇到问题。代码如下:
这个例子看起来很完美,给了我 {[id,123]}。
现在。当我将数字更改为“070809”之类的数字时,突然出现异常:“Newtonsoft.Json.JsonReaderException:输入字符串 '070809' 不是有效数字。路径 'id',第 1 行,位置 12。---> System.FormatException:其他不可解析的字符位于字符串的末尾。”
有什么建议么?
json - 更新子资源时的标准 REST Api 约定
我有一种情况:类别 - 不同类型的主数据。订单 - 引用了类别。它是从 Order 到 Category 的一对一映射。Order 表有一个外键列到 Category。现在 api 来获取订单
/users/orders
将返回类型为
{ "name: "abc", "categoryId" : 23 }
会很好,或者我们应该将json返回为
{ "name: "abc", "category" : "CAT-A" }
我们还有一个客户知道类别的创建/更新订单用例。我们需要一个 api 来发布带有类别的新订单。应该是这样的吗?
还是这样的?
c# - 序列化 HttpActionExecutedContext 对象时出现超时错误
我正在我的项目中编写一个异常测试过滤器,我想在其中记录请求和响应对象。这是我的代码:
在执行上述代码时,它总是抛出异常Error getting value from 'ReadTimeout' on 'Microsoft.Owin.Host.SystemWeb.CallStreams.InputStream'。任何人都可以为这个问题提出任何解决方案吗?如何序列化HttpActionExecutedContext的Request和Response对象?
c# - 从未知的 json 结构中读取 - 初学者
我有一个 JSON 字符串,我需要从中提取值 - 例如,我需要获取ID
and的值Name
。
注意:我没有为此创建模型JSON
。
我的代码:
console.write 不打印ID
或可以打印Name
。我该如何解决这个问题?我希望我能很好地解释这个问题,对不起,我是新手。
c# - 如何使用自定义 JsonConverter 将平面 JSON 映射到嵌套对象?
我需要将平面 JSON 映射到嵌套对象,其中平面属性用Flat
属性标记。例如映射
到以下模型
应该给Bar { Foo { X = 1, Y = 2 }, Z = 3 }
。我已经实现了将复杂对象转换为 JSON 但反之亦然:
UPD:更新了代码。InvalidCastException
它适用于某些情况,但对于尝试读取 JSON 时抛出的某些(非平面)属性(请参阅ReadObject
,有一条带有异常消息的注释)。例如,我有 DTO 类
Name
已正确处理,但尝试读取Foo
会导致异常。最小的可重现示例:https ://pastebin.com/2gXNiLMz
c# - 使用带有 TypeNameHandling 标志的 Json.NET 序列化具有 IConvertible 值的字典
我有以下字典,我非常想使用 Json.Net 对其进行序列化。字典包含IConvertible
接口项,允许我将所需的任何原始类型添加到字典中。
我有以下使用 Json.net 序列化列表的实现:
这给了我以下输出:
然而。当试图反序列化时:
...我收到以下错误:
我环顾四周,发现以下内容;但设置 typeNameHandling 并没有解决它。我也不能用IConvertible
类型名称属性来装饰值,因为它是字典。
我还没有找到有关该主题的任何其他信息,因此将不胜感激!
我也找到了这个解决方案,但它涉及创建一个 ExpandableObjectConverter 这不是一个非常优雅的解决方案。
c# - C# - OutOfMemoryException 在 JSON 文件中保存列表
我正在尝试保存压力图的流数据。基本上我有一个压力矩阵定义为:
基本上,我pressureMatrix
每 10 毫秒就会得到一个,我想将所有信息保存在 JSON 文件中,以便以后能够重现它。
我要做的是,首先,用所有用于记录的设置写我称之为标题的内容,如下所示:
然后,每次我得到一个新的压力图时,我都会创建一个新的线程来添加新的PressureMatrix
并重写文件:
大约 20-30 分钟后,我得到一个 OutOfMemory 异常,因为系统无法保存记录的数据var,因为List<PressureMatrix>
它太大了。
我该如何处理以保存数据?我想保存24-48小时的信息。
python - str 无法处理转换时会带来什么样的错误?
我正在编写一种“通用” json 解码器,它将使用默认的 json 编码器加集转换它可以转换的所有内容,以及它将使用转换的所有其他内容str()
- 这有点愚蠢,但它可以让用户安静地工作并让用户知道最初有什么样的数据。
因此,通过小修改,以下代码取自此处:
然后,如果我尝试使用此编码器转换函数,它将返回如下内容:
这又有点愚蠢,但对我的目的来说完全没问题。
问题是:如果str()
无法转换作为输入参数提供的任何内容怎么办?会触发什么样的错误?我查看了str
源代码,并没有得到准确的时间(如果有的话?)它捕获了可能的转换错误。或者假设转换提供的任何类型的输入?
c# - 自定义 JSONConvert 序列化
我正在尝试执行一些 JSONConvert 序列化,但我遇到了砖墙。我所有的相关对象都是某个类的子类,比如 Super 类。Super 的子类可以在该类中拥有其他 Super-inherited 成员,即
我的目标是,当它被序列化时,为所有这些成员运行一个自定义 JsonConverter,以便为它们单独准备序列化,即根据对象内的数据删除不必要的数据。我尝试在抽象类上使用 [JsonConverter] 标记,这会导致 StackOverflowException。
每当我尝试使用自定义序列化程序时,它只为父对象运行,不为任何子属性运行,因此在这种情况下,它不允许“foo”变量被处理以进行序列化。它也不应该为非超级属性运行。
JsonConvert 可以使用这样的转换器吗?我已经环顾四周,但没有找到类似的东西。
谢谢。
c# - 使用 JsonConvert.SerializeObject C# 时出现 JSON 结果问题
将 C# 模型序列化为 JSON 对象时,我得到以下结果。
这是我的模型。
在我的控制器中,我正在为模型创建一个对象并分配值。
返回结果时,我使用了 JsonConvert.Serialize
我得到如下 JSON 结果:
"{\"RowsInserted\":1,\"RequestStatus\":\"SuccessFul\"}"
我期待的实际结果是:
{"RowsInserted":1,"RequestStatus":"SuccessFul"}