问题标签 [json.net]

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.

0 投票
2 回答
3465 浏览

serialization - Json.NET 可以用点符号反序列化扁平化的 JSON 字符串吗?

我有一个扁平的 JSON:

我想将它反序列化回这个实体:

其中Client.FirstNameClient.LastNameClient.Email是对象中的Client属性。使用 Json.NET,有没有办法让它解析点符号并正确反序列化这个实体?目前,使用默认设置,它告诉我这Client.FirstName不是 type 中的属性Case

0 投票
3 回答
5484 浏览

json - 反序列化 $ref 和 $id

所以我试图反序列化一个具有属性的对象:$ref 和 $id。我尝试在字典和我通过 JsonPropertyAttribute 指定命名约定的对象之间切换。序列化有效,但反序列化无效。我不断收到的错误是:

完成反序列化对象后在 JSON 字符串中找到的附加文本。

所有三个示例都失败的示例代码。

0 投票
7 回答
373547 浏览

c# - 使用 JSON.NET 将 JSON 数据反序列化为 C#

我对使用 C# 和 JSON 数据比较陌生,正在寻求指导。我正在使用 C# 3.0、.NET3.5SP1 和 JSON.NET 3.5r6。

我有一个已定义的 C# 类,我需要从 JSON 结构中填充它。但是,并非从 Web 服务检索到的条目的每个 JSON 结构都包含在 C# 类中定义的所有可能属性。

我一直在做似乎是错误的、艰难的方法,只是从 JObject 中一一挑选出每个值并将字符串转换为所需的类属性。

将 JSON 结构反序列化为 C# 类并处理 JSON 源中可能丢失的数据的最佳方法是什么?

我的班级定义为:

要解析的 JSON 样本是:

0 投票
3 回答
52822 浏览

c# - 使用 Json.NET 将 JSON 反序列化为对象

我正在玩一点新的StackOverflow API。不幸的是,我的 JSON 有点弱,所以我需要一些帮助。

我正在尝试反序列化用户的这个 JSON:

进入我用JsonProperty属性装饰的对象:

我得到以下异常:

Newtonsoft.Json.JsonSerializationException:在 JSON 中找不到必需的属性“user_id”。

这是因为 JSON 对象是一个数组吗?如果是这样,我如何将其反序列化为一个 User 对象?

提前致谢!

0 投票
2 回答
1293 浏览

asp.net-ajax - 控制 .NET 中自定义类型的 JSON 序列化格式

我有一个存储规范化字符串的 PhoneNumber 类,并且我为字符串 <-> Phone 定义了隐式运算符,以简化将 PhoneNumber 视为字符串的处理。我还重写了 ToString() 方法以始终返回数字的清理版本(没有连字符、括号或空格)。在我显示号码的任何视图中,我都会显式调用 phone.Format()。

这里的问题是将具有PhoneNumber 的实体序列化为JSON;JavaScriptSerializer 将其序列化为[object Object].

我想将它序列化为 (555)555-5555 格式的字符串。

我看过编写自定义 JavaScriptConverter,但 JavaScriptConverter.Serialize() 方法返回名称-值对的字典。我希望 PhoneNumber 被视为具有字段的对象,我只想将其序列化为字符串。

0 投票
1 回答
9123 浏览

serialization - JSON.NET 中的字节数组序列化

给定这个简单的类:

我可以通过 JSON.NET 将其放入,以便字节数组采用 base-64 编码:

然后我可以用这种稍微有点复杂的方式再读一遍:

都好。但是,如果我首先将 的内容jsonReader变成JToken

JsonReader然后通过将其包装在 a 中将其转回a JTokenReader

然后反序列化抛出异常:“预期字节但得到字符串”。

新的 JsonReader 不应该在逻辑上等同于原来的吗?为什么“原始”JsonTextReader能够将字符串视为 base-64 字节数组,而JTokenReader版本却没有?

0 投票
1 回答
22676 浏览

json.net - Json.Net 库 JsonConvert

我正在使用http://json.codeplex.com库。我正在尝试将 XML 转换为 JSON,反之亦然。

但是他们有一个使用JsonConvert类的例子

JsonConvert我在命名空间中找不到Newtonsoft.Json。我只找到了 class JavaScriptConvert

有任何想法吗?

0 投票
2 回答
2267 浏览

asp.net - Newtonsoft.json 抛出错误:数组不是一维数组

尝试序列化对象产品时出现错误。

有没有办法用 Newtonsoft.json 序列化二维数组

提前致谢。新航

0 投票
1 回答
6109 浏览

c# - 使用 JSON.Net 验证 JsonConvert.DeserializeObject 的结果(想想“尝试解析”)

我有传入的消息,我需要尝试在我自己的对象结构中解析。其中一些是格式良好的 JSON 对象,而另一些则是无稽之谈。

JsonConvert.DeserializeObject<MyObject>(incmoingString);用来做这个。但是,当传入的完全是垃圾时,这有时会给我一个例外。其他时候,当传入的字符串还不错时,我会得到一个不完整的对象结构——最后它有时会起作用。

我已经将转换包装在 try/catch 中,然后手动验证我是否获得了反序列化结果所需的属性。

有一个更好的方法吗?

0 投票
1 回答
190 浏览

serialization - 亚音速 3:仅获取某些列

我使用:Subsonic 3、SQL Server 2008、Json.Net

这是我的问题:

我有一个带有 id、批号、地址、位置、ownerid 的房屋表和一个带有 id、名称、描述的所有者表。

我只想获取位置为“旧金山”的房屋的所有者姓名和地址。

如何使用 Subsonic 做到这一点?

我的问题是我只能获取类型列表或数据读取器,我不明白如何仅获取数组或简单列表。

什么是最好的解决方案?创建一个自定义类?创建视图?还要别的吗 ?

我的目标是然后序列化数据以将其发送回我的应用程序,但是由于关系众多(我的示例在这里被简化,确实有:房屋 - 所有者 - 城市 - 国家等),序列化非常长,而我只需要2个字段...

谢谢