问题标签 [jsonserializer]

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 投票
1 回答
9098 浏览

c# - 无法将当前 JSON 数组(例如 [1,2,3])反序列化为具有复杂和嵌套对象的类型

我正在尝试为复杂对象构建 web api。为此,我构建了从 JSON 反序列化此对象的自定义绑定器。

我的客户活页夹看起来像:

要序列化的对象非常复杂:

}

Json 是使用 Javascript 代码中的 JSON.stringify 命令创建的,如下所示:

异常在序列化行上引发,如下所示:

我花了几个晚上解决这个异常,但没有找到任何解决方案此外,该站点上的解决方案已被删除,但不支持如此复杂的问题。

https://stackoverflow.com/questions/11126242/using-jsonconvert-deserializeobject-to-deserialize-json-to-ac-sharp-poco-class

无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型

有人遇到了这种 JSON 意外行为并可以提供帮助吗?

谢谢

0 投票
2 回答
21676 浏览

asp.net-mvc - JsonSerializer - 使用“N2”格式序列化小数位

我正在使用 Newtonsoft.Json.JsonSerializer 序列化小数。

如何将其设置为序列化只有 1 个小数位的十进制数字以在末尾使用 0。

即 3.5 序列化为“3.50”?

0 投票
1 回答
1324 浏览

servicestack - ServiceStack Json Serializer 忽略属性

我有一个业务要求,即只在我们的响应负载中发送许可的属性。例如,我们的响应 DTO 可能有几个属性,其中之一是 SSN。如果用户没有查看 SSN 的权限,那么我绝不希望它出现在 Json 响应中。第二个要求是,如果客户端有权查看或更改属性,我们发送空值。由于第二个要求,将用户无法查看的属性设置为 null 将不起作用。我仍然必须返回空值。

我有一个可行的解决方案。我通过我的 DTO 反射创建了一个 expandoObject,并且只添加了我需要的属性。这在我的测试中有效。

我看过实现 ITextSerializer。我可以使用它并将我的响应 DTO 包装在另一个具有要跳过的属性列表的对象中。然后我可以推出我自己的 SerializeToString() 和 SerializeToStream()。在这一点上,我真的没有看到任何其他方式。我不能使用 JsConfig 并制作 SerializeFn,因为要跳过的属性会随着每个请求而改变。

所以我认为实现 ITextSerializer 是一个不错的选择。有没有很好的例子来实现这一点?我真的很想利用序列化程序中已经完成的所有艰苦工作,并利用出色的性能。我认为在理想的世界中,我只需要在 WriteType.WriteProperties() 中添加一个检查即可查看,并且该属性是要写入的,但这是内部的,实际上,它们中的大多数都是所以我真的无法接受他们的优势。

如果有人有一些见解,请告诉我!也许我正在使 ITextSerialzer 的实现变得更加困难,实际上是这样吗?

谢谢!

拉取请求#359将属性“ExcludePropertyReference”添加到 JsConfig 和 JsConfigScope。您现在可以像我需要的那样排除范围内的引用。

0 投票
1 回答
2361 浏览

json - 是否有与 JSON.NET(服务器端)良好集成并支持“保留引用”功能的 JavaScript(客户端)JSON 库?

JSON.NET 通过使用以下设置保留所有引用来支持循环引用序列化:

这允许以下代码无错误地运行,正确地序列化和反序列化对象,并且其自引用完好无损。

jsondata 字符串如下所示:

问题是……如果没有相应的客户端 JavaScript 库可以解释这些引用,并且还支持对这些引用本身进行编码,那么 JSON.NET 的这个特性有什么用?

哪个客户端库(例如 JSON.stringify)支持使用“$id”和“$ref”字段的此功能/编码?如果不存在,是否有已知的方法可以向现有库添加支持?

自己添加支持将是一个非常简单的两遍过程。首先,反序列化整个字符串,并在创建每个对象时将其添加到字典中,使用其“$id”值作为键。当您遇到引用(仅由“$ref”属性组成的对象)时,您可以将其添加到对象+字段名列表中,您可以通过在创建对象的最终字典中查找其键来返回以替换每个遇到的引用.

0 投票
1 回答
364 浏览

json - Spring MVC REST JsonSerializer 以指数符号格式序列化 long

我的 Spring MVC REST 应用程序中有自定义 Json 序列化程序(用于 ObjectMapper):

并且服务以指数符号格式返回该字段的 json 表示, 例如 1.377216E12 而不是正常的时间戳格式。并非所有服务器平台都会发生这种情况。

提前谢谢了。

0 投票
1 回答
120 浏览

c# - DataContractJsonSerializer 返回空值 .Net4.0

这是我需要反序列化的 json 字符串:

这是代码:

我不确定如何处理 json 字符串,它似乎是一个数组但没有命名。我尝试过使用 SSheets DataContract 和使用 SSCollection,两者都返回空值,除非我使用 SSheets 时我得到 0 表示 id 和空值表示字符串名称和 accessLevel。任何帮助将不胜感激。谢谢。

0 投票
2 回答
801 浏览

redis - ServiceStack 的 JsonSerializer 可以序列化私有成员吗?

我关心的主要是 ServiceStack 的 Redis 客户端。我有一堆要存储在缓存中的实体。它们的成员大多是封装的(私有的),其中一些没有任何公共访问器。ServiceStack 的序列化程序是否允许我在 Redis 中存储(并且很明显地获取)这些实体?或者我是否必须创建具有公共属性的“干净” POCO 类以进行序列化,这将迫使我维护任何实体的 2 个表示:一个真实的,以及它的“假” POCO 表示以将其存储在 Redis 中?

我希望答案不是后者:)

0 投票
1 回答
333 浏览

java - 使用 Jackson 序列化 JSON 文档

我正在尝试使用 Jackson 库序列化 JSON 文档。下面是我手工创建的 JSON 文档。现在我需要使用 Jackson 序列化这个文档

示例-A

到目前为止,我可以使用下面的代码并使用 Jackson- 制作 JSON 文档的这一部分

示例-B

现在,我无法理解如何categories使用以下代码在我的 Example-B JSON 文档中添加(如 Example-A 中所示)部分的列表?

有人可以帮我吗?

0 投票
2 回答
704 浏览

.net - MVC4中XML和Json序列化器的区别

我发现今天 MVC4 使用的 XML 和 Json 序列化程序之间存在相当大的差异。

我试图返回一个看起来像这样的对象:

当客户端请求 json 作为结果时,我得到FirstNameLastNameFullName返回预期值。

但是,当客户端请求 XML 数据时,他只得到FirstNameLastName

在我看来这是非常糟糕的,因为这意味着客户端将根据他们请求的格式获得不同的数据。

这似乎是故意的,因为 Json 序列化程序的文档说默认包含只读属性,而对于 Xml 序列化程序,默认情况下它们被排除在外。

所以我的问题是:我如何更改 MVC4 使用的 Xml 序列化程序以默认包含那些只读的。我知道它可以做到,因为如果您将DataContract属性添加到类,并将DataMember属性添加到类的每个属性,它也会返回只读变量,但我真的不想这样做。

0 投票
1 回答
3077 浏览

java - Jackson EnumMap 密钥序列化

Jackson 是否允许您自定义它如何序列化 EnumMap 键?例如,如果我有

还有一些

然后杰克逊将序列MyObject化为

{"map":{"ABC":"foo","DEF":"bar","XYZ":"baz"}}.

相反,我希望它像

{"map":{"my-key-0":"foo","my-key-1":"bar","my-key-2":"baz"}}. 我不想覆盖任何toString()内容以使其正常工作。这在杰克逊有可能吗?

我试过这样做:

然后添加

但这失败了,但有一个org.codehaus.jackson.JsonGenerationException: Can not write text value, expecting field name例外。

有任何想法吗???