问题标签 [json-deserialization]

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 回答
151 浏览

java - 使用客户模型的 Gson 反序列化

我有一个特定形式的 json,我必须反序列化。为了做到这一点,我想到了我最好的库 Gson,但我在这里遇到了一个问题,因为我有一些动态的密钥。

我想你会通过一个很好的例子来理解。这是json

你可以去这里看更好的风景。所以,我创建了一个类来做到这一点,JsonModel.java

然后,我要求 Gson 使用以下代码对其进行反序列化:

由于数据为空,我认为它没有按我预期的方式工作......我考虑过使用 HashMap,因为我事先不知道机构 1、机构 2 等密钥......你怎么看?我可以这样做吗?

请不要告诉我使用支架,我只是梦想拥有那些!

先感谢您 !

编辑: 我能够通过添加一个根对象来使这个东西工作

和改变

经过

所以,问题是 gson 需要识别第一个元素,但实际上我将无法修改 json,有没有办法让它以不同的方式完成?

0 投票
1 回答
4796 浏览

c# - JSON.NET 去实化

我有下一个 JSON 回调:

我想使用 JSON.NET 反序列化它

我写了下面的代码:

用法:

跌倒错误:

Newtonsoft.Json.DLL 中出现“Newtonsoft.Json.JsonSerializationException”类型的异常,但未在用户代码中处理

问题是什么?

0 投票
1 回答
2148 浏览

c# - 如何强制 json.net 将 DataTable 列从整数反序列化为浮点数

我正在尝试将 json 反序列化为数据表。我的 JSON 如下所示: [{ "Id": 35, "Name": "ABC", "XVar": 0.078814, "YVar": 1 }, { "Id": 79, "Name": "XYZ", “XVar”:1.50,“YVar”:30.2 }]

我正在使用以下代码进行反序列化: var dataTable = (DataTable)JsonConvert.DeserializeObject(jsonString, (typeof(DataTable)));

问题是第二个对象的 Y 值被序列化为 30 而不是 30.2。我可以做的最简单的事情是保存数据。欢迎所有想法。

0 投票
2 回答
330 浏览

c# - ServiceStack DeserializeFromString 不是设置字段

我正在尝试使用 ServiceStack.Text 将 JSON 字符串“{Hints:6}”反序列化为一个类。下面是一个测试用例。问题是控制台打印出 0 而不是 6。所以似乎“ HintsCount ”类中的“ Hints ”字段没有设置为新值。

控制台打印出“0”而不是预期的“6”。

知道为什么会这样吗?

0 投票
1 回答
822 浏览

c# - C# 解析 JSON 数组(HTTPrequest 响应)以显示

再会,

我正在解析 JSON 响应。假设我有这个 JSON:

好的。那么,如果我只想显示像“ dataInfo ”这样的数据怎么办......在Python中,我可以通过这样做轻松地做到这一点:

这将显示:

我怎样才能在 C# 中做到这一点?我试过这个: http: //procbits.com/2011/08/11/fridaythe13th-the-best-json-parser-for-silverlight-and-net

但这仅适用于非数组 JSON ..

希望有人可以指导我,

0 投票
1 回答
95 浏览

json - 如何在不使用 pop() 的情况下获取 JSON 子对象

如何在不使用 pop() 操作的情况下获取 JSON 子对象。我有多级 JSON。像这样:

如何访问这些元素中的每一个?

0 投票
1 回答
350 浏览

java - Json to Java-获取特定属性的值,避免映射所有属性

我是 JSON 新手,我在网站上搜索了许多与将 JSON 转换为 JAVA 对象相关的答案。这是我的问题。

我有一个大的 JSON 数据,我想从中提取一些信息。它包含许多对象,如个人信息、朋友、职业信息等。我想获取朋友的某些属性的值可以说。

在浏览了所有解决方案之后,我得出结论,我必须创建一个映射 JSON 的所有属性的类。

我不想创建类映射每个数据。有没有一种方法可以避免为 JSON 中的所有数据创建一个类,而只获取一个对象内某些属性的值?

只是为了更清楚:

在这里可以说我只想要 GlossEntry 中的 ID 和 Abbrev 的值。创建 GlossEntry 类很好,但我不想在创建词汇表类时遇到麻烦,因为有很多数据。

0 投票
1 回答
151 浏览

.net - 使用转换器反序列化 json

我正在尝试将一些 json 反序列化为 .net 类:

我在条目部分遇到问题,每个数组都以字符串开头,但没有键。它应该被反序列化为如下所示的类:

我正在考虑使用 jsonConverter 但如果我使用转换器,我不确定如何将对象(每个数组中的第二个索引)反序列化为元数据类。

0 投票
2 回答
17429 浏览

java - Jackson - 反序列化嵌套的 JSON

我有一个 JSON 字符串,格式如下:

JSON 的响应部分对于一堆响应类型很常见。此 JSON 的报告部分仅适用于此响应。所以我用 getter 和 setter 创建了一个 Response 类,如下所示(为简洁起见,这里没有包括 getter 和 setter):

然后,我创建了一个报表类,其中报表元素中的字段如下所示。ReportResponse 类将从 Response 类扩展(再次为简洁起见,不包括 getter 和 setter):

现在,当我使用 ObjectMapper 映射到 ReportResponse 对象时,出现以下错误:

我知道我可以创建一个单独的 Report 类,然后使用 @JsonProperty 注释将其嵌入到 ReportResponse 中。有没有办法可以避免这种情况并使用注释标记 ReportResponse 类,该注释会将其映射到 JSON 中的“报告”元素?

0 投票
2 回答
218 浏览

java - Jackson 中基于整数而非字符串的多态反序列化

通常,在使用杰克逊进行多态反序列化时,我有一个映射到一个类的字符串字段,并且可以这样做。

如果值是整数而不是字符串,我找不到任何简单的示例来说明如何执行此操作。例如,如果我的 JSON 包含“methodName”:1 而不是“methodName”:“firstClassName”,我将如何选择要反序列化的类?