问题标签 [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.
java - 使用客户模型的 Gson 反序列化
我有一个特定形式的 json,我必须反序列化。为了做到这一点,我想到了我最好的库 Gson,但我在这里遇到了一个问题,因为我有一些动态的密钥。
我想你会通过一个很好的例子来理解。这是json:
你可以去这里看更好的风景。所以,我创建了一个类来做到这一点,JsonModel.java
然后,我要求 Gson 使用以下代码对其进行反序列化:
由于数据为空,我认为它没有按我预期的方式工作......我考虑过使用 HashMap,因为我事先不知道机构 1、机构 2 等密钥......你怎么看?我可以这样做吗?
请不要告诉我使用支架,我只是梦想拥有那些!
先感谢您 !
编辑: 我能够通过添加一个根对象来使这个东西工作
和改变
经过
所以,问题是 gson 需要识别第一个元素,但实际上我将无法修改 json,有没有办法让它以不同的方式完成?
c# - JSON.NET 去实化
我有下一个 JSON 回调:
我想使用 JSON.NET 反序列化它
我写了下面的代码:
用法:
跌倒错误:
Newtonsoft.Json.DLL 中出现“Newtonsoft.Json.JsonSerializationException”类型的异常,但未在用户代码中处理
问题是什么?
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。我可以做的最简单的事情是保存数据。欢迎所有想法。
c# - ServiceStack DeserializeFromString 不是设置字段
我正在尝试使用 ServiceStack.Text 将 JSON 字符串“{Hints:6}”反序列化为一个类。下面是一个测试用例。问题是控制台打印出 0 而不是 6。所以似乎“ HintsCount ”类中的“ Hints ”字段没有设置为新值。
控制台打印出“0”而不是预期的“6”。
知道为什么会这样吗?
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 ..
希望有人可以指导我,
json - 如何在不使用 pop() 的情况下获取 JSON 子对象
如何在不使用 pop() 操作的情况下获取 JSON 子对象。我有多级 JSON。像这样:
如何访问这些元素中的每一个?
java - Json to Java-获取特定属性的值,避免映射所有属性
我是 JSON 新手,我在网站上搜索了许多与将 JSON 转换为 JAVA 对象相关的答案。这是我的问题。
我有一个大的 JSON 数据,我想从中提取一些信息。它包含许多对象,如个人信息、朋友、职业信息等。我想获取朋友的某些属性的值可以说。
在浏览了所有解决方案之后,我得出结论,我必须创建一个映射 JSON 的所有属性的类。
我不想创建类映射每个数据。有没有一种方法可以避免为 JSON 中的所有数据创建一个类,而只获取一个对象内某些属性的值?
只是为了更清楚:
在这里可以说我只想要 GlossEntry 中的 ID 和 Abbrev 的值。创建 GlossEntry 类很好,但我不想在创建词汇表类时遇到麻烦,因为有很多数据。
.net - 使用转换器反序列化 json
我正在尝试将一些 json 反序列化为 .net 类:
我在条目部分遇到问题,每个数组都以字符串开头,但没有键。它应该被反序列化为如下所示的类:
我正在考虑使用 jsonConverter 但如果我使用转换器,我不确定如何将对象(每个数组中的第二个索引)反序列化为元数据类。
java - Jackson - 反序列化嵌套的 JSON
我有一个 JSON 字符串,格式如下:
JSON 的响应部分对于一堆响应类型很常见。此 JSON 的报告部分仅适用于此响应。所以我用 getter 和 setter 创建了一个 Response 类,如下所示(为简洁起见,这里没有包括 getter 和 setter):
然后,我创建了一个报表类,其中报表元素中的字段如下所示。ReportResponse 类将从 Response 类扩展(再次为简洁起见,不包括 getter 和 setter):
现在,当我使用 ObjectMapper 映射到 ReportResponse 对象时,出现以下错误:
我知道我可以创建一个单独的 Report 类,然后使用 @JsonProperty 注释将其嵌入到 ReportResponse 中。有没有办法可以避免这种情况并使用注释标记 ReportResponse 类,该注释会将其映射到 JSON 中的“报告”元素?
java - Jackson 中基于整数而非字符串的多态反序列化
通常,在使用杰克逊进行多态反序列化时,我有一个映射到一个类的字符串字段,并且可以这样做。
如果值是整数而不是字符串,我找不到任何简单的示例来说明如何执行此操作。例如,如果我的 JSON 包含“methodName”:1 而不是“methodName”:“firstClassName”,我将如何选择要反序列化的类?