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

asp.net - json 的转义字符串导致 asp.net 服务器端操作

我有一个服务器端操作手动生成一些 json 响应。json 中有一个包含字符串值的属性。

转义此 json 结果中包含的字符串值的最简单方法是什么?

所以这

会变成

并产生以下json

0 投票
11 回答
107840 浏览

ruby - Ruby 对象和 JSON 序列化(没有 Rails)

我正在尝试了解 Ruby 中的 JSON 序列化环境。我是红宝石的新手。

如果您不使用 Rails,是否有任何好的 JSON 序列化选项?

这似乎是这个答案的所在(对 Rails) 如何将 Ruby 对象转换为 JSON

json gem 似乎让您看起来必须编写自己的 to_json 方法。我无法让 to_json 使用数组和哈希(文档说它适用于这些) json gem 不只是反映对象并使用默认序列化策略是否有原因?这不是 to_yaml 的工作方式吗(在这里猜测)

0 投票
1 回答
1540 浏览

java - Json 深度序列化

在 Person 是具有“爱好”列表的POJO的情况下。

只是试图理解这个语句来实现一个深度序列化机制:

语法看起来很直观吗?从 java 用户 POV 看来,语法应该是:

我这样说是因为首先序列化 primamry 对象然后是任何列表及其引用似乎很直观。

另外,flexjson的源代码是否可供公众使用?它不在 sourceforge.net 上

0 投票
1 回答
339 浏览

jquery - 具有标题属性的空输入字段的 JQuery 序列化函数

我有以下表单输入字段:

当我在包含表单上调用 JQuery 的序列化函数时,它给了我以下信息:

有谁知道为什么 serialize() 将标题作为描述字段的值?我怎样才能解决这个问题?我希望结果是:

0 投票
1 回答
410 浏览

asp.net - NHibernate.IFutureValue<> 序列化时包含 .Value

我正在使用 NHibernate 构建一个 ASP.NET(2.0,不,我不能更改它)站点,并且有一个自定义 JSON 转换器,所以我不能序列化我想从客户端隐藏的属性。这让我只需返回对象,而不必担心它们的序列化值——它们总是安全的。

不幸的是,如果我使用query.FutureValue<class>(),被序列化的对象首先是 theNHibernate.Impl.FutureValue<class>而不是我的实体,这意味着如果我将它放入字典并将其返回给客户端,我会得到如下所示的 JSON:

以前我发现我无法让任何接口在 ASP 的 JavaScriptConverter 实现中工作......只有常规或抽象类。因此,typeof(IFutureValue<MyBaseClass>)作为受支持的类型返回意味着我的转换器被完全忽略。我可以抓住 MyBaseClass,因为我之前重构了一些东西以使用抽象基而不是接口,而不是接口。

然后我发现 .Impl 中的 FutureValue 实现是程序集内部的,或者其他一些这样的废话只会让我的 .NET 体验更加痛苦。所以我不能用typeof(FutureValue<MyBaseClass>)它来处理这一切,因为 FutureValue 只存在于我的调试会话中。

有没有办法从程序集中获取类类型?或者是一种让 ASP 相信接口确实有用的方法?或者是否有一些我可以访问的超类可以让我解决整个问题?

帮助!我喜欢我的 Futures,它可以让我一次处理一大堆电话!

(如果有什么不清楚的地方,或者你想要更多的代码,无论如何,问!我可以发布很多。)

0 投票
1 回答
503 浏览

php - 我的 sql 字段中的序列化数据作为文本

我在 mysql 的文本类型字段中有序列化的订单详细信息。最近一位客户添加了一个 TEXT 类型字段无法处理的大订单。所以现在我想将 TEXT 更改为 LONGTEXT。更改 FIELD TYPE 是否会对现有输入的数据(篮子)产生任何影响?

我有一长串序列化的 Basket 字符串,其中缺少最后一项。我仍然可以让它至少恢复到输入的那些项目。我知道使用序列化数据很难。但仍然好奇是否有任何方法可以使该篮子(订单)恢复?

序列化数据是这样的。这是篮子里一件物品的样品。

0 投票
3 回答
3820 浏览

c# - 有什么办法可以 JSON.NET 序列化 List 的子类那也有额外的属性?

好的,我们正在使用我非常喜欢的 Newtonsoft 的 JSON.NET 产品。但是,我有一个简单的类结构,用于分层位置,大致如下所示......

...当我将它们序列化为 JSON 时,一切都很好,除了 LocationList 类上的 IsExpanded 属性被排除在外。只有列表的内容被序列化。

现在这就是我所设想的一种很好的格式。它本质上就像LocationList不是一个子类,List<Location>而是一个普通对象,它有一个名为Itemstype的属性List<Location>

现在我也了解到 Newtonsoft 的产品是可扩展的,因为他们专门讨论了如何为特定数据类型编写自己的自定义序列化程序,这正是我在这里想要的。但是,他们没有关于如何执行此操作的任何好的代码示例。

如果我们(SO 社区)能够解决这个问题,从技术上讲,通过使用上述格式,我们应该能够序列化 List 的任何子类(或其衍生物/类似对象),只要它们还没有一个名为的属性Items(恕我直言)首先是一个糟糕的设计,因为它会像垃圾一样令人困惑!)也许我们甚至可以让 Newtonsoft 在他们的序列化器中原生地推出这样的东西!

这么说……有人知道如何自定义序列化器/反序列化器以区别对待这个对象吗?

0 投票
1 回答
624 浏览

c# - What JSON serializer for .NET will insert items into a list rather than replacing the list?

Ok, so I have this basic class setup...

which I want to use with the Newtonsoft JSON serializer. However, the serializer doesn't insert the items into the existing collection behind the read-only property accessor, but rather tries to assign an entirely new List to the property, which of course it can't since there isn't a setter.

Now I could just switch to this...

But now the list property isn't read-only and can be set to null. Even if we make the setter private, JSON deserialization can still set it to null.

What I want is a way to tell the serializer 'Take the items you have in your list and insert them into this already-existing list' rather than saying 'Replace my list with yours altogether'.

So can this be done, or am I going to have to write my own JSON serialization converter and plug that in?

M

0 投票
1 回答
707 浏览

ruby - Sequel JsonSerializer 与别名冲突

在 Sinatra Web 应用程序中,我试图从 DB 获取数据并将它们转换为 UI 可接受的对象(最后转换为 JSON)。但是 UI 和 DB 字段所需的属性名称存在一些差异。所以我使用了带有别名的 Sequel 查询:

但是当我尝试进行这种转换时:

我得到:**undefined method** 'id' for # Alarm:0x000000027403e0


我还尝试向模型添加访问器(请参阅注释掉的行) attr_accessor :id, :Alarm 并得到很多这样的对象:{"json_class":"Alarm","id":null,"Alarm":null},这似乎是合乎逻辑的结果。


那么,Q1:如何使用 json_serializer 插件使续集别名工作?

Q2:可能有一些其他解决方案来提供这种映射(不创建新类和/或添加额外的转换方法) - 比如通过 to_json 方法中的选项影响 json 属性名称等

0 投票
1 回答
2940 浏览

java - 如何从自定义 Gson JsonSerializer 调用另一个序列化程序?

我有我的自定义课程User

我现在正在为 User.class 创建一个自定义 JsonSerializer:

但我已经有一个TimestampAdapter用于Timestamp.class. 如何调用它JsonSerializer以在“创建”字段中使用User.class