问题标签 [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 投票
3 回答
16235 浏览

.net - 带有标志属性的 Enum.TryParse

我已经编写了代码来TryParse按值或按名称进行枚举,如下所示。如何扩展此代码以包含解析具有Flags属性的枚举?

目前,此代码适用于以下枚举:

不适用于:

谢谢!

0 投票
4 回答
15456 浏览

serialization - JSon.NET 反序列化对象> 不返回列表也不给出错误

我被 Json.NET 库及其 DeserializeObject 方法困住了。文档不太清楚这里可能发生的事情,所以如果有人能解释如何将 JSON 反序列化为用户对象列表,我将不胜感激。

我正在尝试反序列化这个 JSON

进入用户对象

使用

没有成功。没有收到任何错误,也没有用户。JsonConvert.DeserializeObject 只是默默地死去。

我尝试创建模型并使用该 JSON 字符串执行 SerializeObject 和 DeserializeObject,但结果相同,没有错误,没有结果。

我什至尝试通过 serializersettings 以找出问题所在,但也没有错误

当我尝试查看反序列化期间发生了什么时,我注意到上下文没有初始化?!

我在这里做错了什么?以及如何将其反序列化为用户列表?

0 投票
3 回答
35677 浏览

c# - JsonIgnore 属性在 ASP.NET 中不起作用?

我的项目中有一个带有循环引用的对象。我已将 [JsonIgnore] 放在字段上方,如下所示:

当我序列化对象时,我仍然遇到循环引用错误。唯一没有 JsonIgnore 的字段是字符串字段,不应导致这种情况。我还需要做些什么才能让 JsonIgnore 工作吗?

谢谢!

0 投票
1 回答
5060 浏览

c# - C# 中的 JSON.NET 反序列化导致空对象

我正在尝试使用 JSON.NET 反序列化使用数据填充 C# 对象(ImportedProductCodesContainer)。

ImportedProductCodesContainer.cs:

JSON字符串:

C#代码:

问题是运行上述代码后, importedProductCodesContainer仍然为空(Action = 0,ProductListRaw = null)。你能帮我找出问题所在吗?

0 投票
3 回答
73904 浏览

c# - 如何使用 json.net 将数据表转换为 json 字符串?

如何使用 json.net 将数据表转换为 json?任何建议...我已经下载了必要的二进制文件...我应该使用哪个类来将我的数据表转换为 json?到目前为止,使用此方法通过传递我的数据表来获取 json 字符串...

现在我想使用 json.net 但不知道从哪里开始......

0 投票
1 回答
2043 浏览

javascript - 如何将 HTML 表转换为 JSON 并将 JSON 与 JSON.NET 一起使用?

我问这个问题是因为我认为这是我们不时遇到的问题。我需要获取一个已在客户端操作过的 HTML 表格,并将生成的表格数据发送到服务器进行处理。此外,我想使用 JSON.NET 将其直接映射到我的业务对象。

0 投票
2 回答
8821 浏览

.net - 反序列化空值 JSON.net 时抛出空值异常

嗨朋友我正在尝试将隐藏的控制字段反序列化为 JSON 对象,代码如下:

但我收到以下异常。value cannot be null parameter name s:我什至添加了以下几行,但它仍然没有成功。请帮忙。

0 投票
3 回答
3819 浏览

c# - 如何序列化/反序列化 C# 类?

我在 Javascript 中有一个看起来像这样的对象

然后,我对这些对象的数组进行字符串化并将其发送到 ASP.Net Web 服务。

在 web 服务中,我想反序列化 JSON 字符串,以便可以在 C# 中轻松处理数据。然后,我想将一组相同 Javascript 类型(相同的字段名称和所有内容)的对象发送回客户端。我不明白的是如何序列化说这个类:

以便 JSON 与上述 javascript 对象相同。以及如何反序列化到 C#MyObject类中。

我将如何轻松做到这一点?我正在使用 Netwonsoft.Json。

有没有办法将 JSON 字符串转换为对象的列表或数组?

0 投票
2 回答
61113 浏览

wcf - 如何使用 Json.Net 从我的 WCF 休息服务(.NET 4)返回 json,而不是用引号括起来的字符串?

更新 2010年 10 月 19 日我知道我不久前问过这个问题,但这些答案中显示的解决方法很难令人满意,这仍然是许多人的常见问题。WCF 只是不灵活。我创建了自己的开源 C# 库,用于在没有 WCF 的情况下创建 REST 服务。检查restcake.netrest.codeplex.com以获取有关该库的信息。 结束更新

更新 8/2/2012 ASP.NET Web API(以前的 WCF Web API,REST WCF 的替代品)默认 使用Json.NET结束更新

DataContractJsonSerializer无法处理Json.Net在正确配置时处理得很好的许多场景(特别是循环)。

服务方法可以返回特定的对象类型(在本例中为DTO),在这种情况下DataContractJsonSerializer将使用,或者我可以让该方法返回一个字符串,并自己使用 Json.Net 进行序列化。问题是,当我返回一个 json 字符串而不是一个对象时,发送给客户端的 json 用引号括起来。

使用DataContractJsonSerializer,返回一个特定的对象类型,响应是:
{"Message":"Hello World"}

使用Json.Net返回一个json字符串,响应为:
"{\"Message\":\"Hello World\"}"

我不想在客户端上对结果进行 eval() 或 JSON.parse() 处理,如果 json 作为字符串返回并用引号括起来,我必须这样做。我意识到行为是正确的;这不是我想要/需要的。我需要原始的json;当服务方法的返回类型是对象而不是字符串时的行为。

那么,我怎样才能让我的方法返回一个对象类型,但使用 DataContractJsonSerializer?我怎样才能告诉它使用 Json.Net 序列化程序呢?

或者,有没有办法直接写入响应流?所以我可以自己返回原始 json 吗?没有包装引号?

这是我做的例子,供参考:

0 投票
1 回答
3107 浏览

c# - NewtonSoft JSON.NET 的升级不会隐式序列化受保护的成员

我刚刚将我的 NewtonSoft JSON.NET 版本从 3.0.0 更新到 3.5.0,我注意到受保护的成员没有被隐式序列化。

我有以下课程:

以下测试代码不通过

Name 和 Path 属性都为 null,除非我将属性集公开或添加更新具有以下属性的类:

这是一个规模合理的项目,它大量使用了序列化过程,我不想通过将这些属性添加到每个类和成员的代码。

有办法解决这个问题吗?