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

c# - JSON 序列化的条件 ScriptIgnore

有没有办法有条件地从 JSON 序列化中排除项目?我在带有 WebAPI 的 .NET4 应用程序中使用 C#。我已经[DataMember]并且[ScriptIgnore]已经在上课了,一切正常。我想要做的不是在运行时根据属性的值包含某些属性

例如,我可能只想序列化List<Foo> myFoo

myFoo != null && myFoo.Count > 0

JSON 被转换回客户端上我自己的 JS 对象,它的所有属性都已实例化,例如myFoo: []. 只是没有必要以 JSON 格式将这些发送到客户端,因为它基本上不会对对象产生影响,只会发送更多数据并在客户端上使用更多处理。这是一个非常重 JS 的 HTML5 移动网站,我正在尝试尽可能多地减少数据和处理。

0 投票
1 回答
455 浏览

java - jackson 序列化器:获取序列化对象

我的序列化程序有问题,这是我的问题:

我有一个这样的 bean 类:

当通过杰克逊进行序列化时,没有 @JsonSerialize 注释,我显然得到:

但我需要添加一个属性,以便它给出:

(这是一个例子,在现实世界中,我添加的属性取决于对象的几个属性)

所以我需要编写一个自定义序列化程序。但是,在我的真实代码中,该类包含的属性远不止 2 个。所以我不想手动为 json 对象创建这些属性......

如果我使用这个:

我显然得到了 StackOverflowError。

所以问题可以是:

  • 如何从 JsonSerializer 内部序列化对象而不重新调用序列化程序本身?

或者

  • 如何动态地将属性添加到正在序列化的对象。

我过去一直使用 GSon 来做这件事,但杰克逊提供了很多我喜欢使用的功能;)

0 投票
1 回答
7882 浏览

asp.net-mvc - MVC3 (Razor) Json 获取Controller中的反序列化数据

我再次需要 Asp.Net MVC(Razor View Engine)的帮助。在我的视图(索引)中,我有

我想将模型传递给控制器​​:我以这种方式对模型进行字符串化:

一切似乎都有效,因为我知道字符串化数据是:

问题是:在控制器中,methodName “createDoc”(如脚本中声明的)我无法访问字符串化数据。根据网上建立的一些样本,我的方法是这样的:

为什么我无法访问字符串化数据?我该怎么做,是否有一些方法可以调用来反序列化 Controller 方法中的模型?另外,我可以使用 serialize() 方法而不是 stringify() 方法吗?如果是这样,视图和控制器方面的语法是什么?

谢谢你。

0 投票
1 回答
133 浏览

object - 在c#中为wp7反序列化字符串数组

这是我的 JSON 的结构:

我想将它反序列化回我类的对象数组。任何人都可以帮我这样做吗?我想最好使用 datacontractjsonserializer 但其他也可以。

感谢您

0 投票
2 回答
1071 浏览

c# - 使用 WebRequest 在 C# 中使用 Yahoo PlaceFinder JSON

我想我会在这里发布这个问题,而不是一个问题,而是与社区分享我在 StackOverflow 上找不到答案后编写的一些代码。如果有人想看一下代码并改进它,那会很好,但不是必需的。我省略了一些代码(try-catch 块和错误处理),以使其更容易使用概念和代码。

0 投票
1 回答
352 浏览

field - JsonSerializer 字段顺序(不要按字母顺序) - Java

我正在使用 JsonSerializer 将对象转换为 JSON 字符串,但顺序错误。属性会自动按字母顺序排序,但我希望它们按照它们在类中列出的顺序(例如“endPoint”不应出现在“startPoint”之前)。

当我调用 JsonSerializer 时。我只看到 4 种方法(toJava 或 toJson)。我尝试在订单中包含内容,但它不起作用/我做得不对。我这样做的方式是这样的:

如您所见,其中包含 obj.obj.attr 部分。但是当我尝试运行这段代码时,我只在输出字符串中看到“errorDescription”。然后我尝试了没有属性的“searchResultRecord”,但它只在输出中显示了 2 个属性:x

知道如何修复订单,使其不按字母顺序排列吗?所有在线示例似乎都来自具有更易于访问的方法的旧版本的课程~感谢您提供任何信息。

0 投票
1 回答
3609 浏览

asp.net-mvc - WebApi jsonFormatter如何将空字符串值更改为空字符串

我从我的 asp.net MVC WebApi 收到我的 json 数据进入我的 kendoUI 控件的古怪问题,因为空字符串被发送为

我想知道如何在我的 webapi 上设置 jsonformatter,以便具有空值的字符串字段返回空字符串“”而不是像 Null 一样?所以看起来。

谢谢

0 投票
1 回答
2731 浏览

asp.net-mvc - 如何将表单中的复选框序列化为Json数据

我们知道,在 MVC 中,aCheckBoxFor会生成 a checkboxwith avalue="true"和 a hiddenwith a value=false。两个输入控件将共享相同的名称。

这是非常合理的,因为如果未选中该框,表单将能够 POST 错误值。当复选框返回 true 时,模型绑定器将忽略隐藏的输入。

但是现在我已经覆盖了表单提交事件,以便将表单数据以 JSON 格式发送到 WebAPI 控制器。

序列化表单数据时,没有正确解析复选框和隐藏的关系的机制。因此,当未选中时,它会返回 a false,这没关系。但是当检查时,它返回 a{true, false}而不是true,因为该serializeArray()函数遍历 everyinput并找到两个值同名。

问题是:纠正它的最佳方法是什么?

0 投票
1 回答
187 浏览

internet-explorer-7 - PHP.js unserialize() 错误 IE7

我尝试使用 PHP.js 的序列化包序列化对象数据以通过 php 保存到文件中。

Chrome:很好 FF:很好 IE9:在兼容模式下很好 IE9(本质上是 IE7):不好。

来自控制台的错误:

序列化后的数据基本上是这样的:

未序列化:

处理缓存的 Javascript 如下所示:

我正在按地址将地理编码结果缓存到文本文件中。

如果我没有道理,请多问。

主要编辑:我更正了所指出的示例。同样重要的是问题确实发生了变化。这实际上不是 serialize() 的问题,而是 unserialize() 的问题。

0 投票
17 回答
302080 浏览

java - 杰克逊枚举序列化和反序列化器

我正在使用 JAVA 1.6 和 Jackson 1.9.9 我有一个枚举

我添加了一个@JsonValue,这似乎可以将对象序列化为:

但是当我尝试反序列化时,我得到了

我在这里想念什么?