问题标签 [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 - 杰克逊 JSON + Java 泛型
我正在尝试使用Jackson json libraryList<Bill
将以下 JSON 反序列化/映射到> java 对象。(此 json 由杰克逊生成,为简洁起见,我省略了该部分)
这是我的转换方法:
账单实体如下:
我得到这个错误:
这是我的简化 spring3 控制器,它返回 i/p json(杰克逊映射配置为默认视图):
我想我错过了一些明显的东西..但不确定它是什么..有什么想法吗?
arrays - 使用 Gson 或嵌套内部类反序列化内部类中的任意对象 json 数组
当我尝试使用 Gson 反序列化一个 Json 字符串时遇到了麻烦。字符串是这样的(注意:我只是简化了它,但留下了我遇到问题的部分,因此,可能存在 Json 语法错误,但我已经使用在线验证器检查了我正在使用的字符串没问题):
现在,我遇到的问题是当我尝试反序列化 json 数组(“定义”和“行”)时。其余字段在反序列化中获得适当的值。我正在使用的类定义如下(为简单起见,没有 getter/setter):
RateContainer(根据 Gson 规范,内部静态类到类 Container):
要解析 Json 字符串,我使用:
我得到以下异常:
看起来类定义中必须有一些不能正常工作的东西。我检查了 Gson API,我知道,为了反序列化列表,通常要做的是:
所以我想也许我可以先得到这些数组,使用类似的东西:
然后获取“定义”和“行”,但我更愿意将所有内容保留在 Container 对象中。有没有办法以这种方式反序列化这些列表?类定义有问题吗?
谢谢大家!
c# - 如何在 C# .NET(win7 手机)中读入带有“DataContractJsonSerializer”的“嵌套”Json 文件?
我有一个问题,如果我的 json 文件看起来像这样
{“数字”:“45387”,“单词”:“空间桶”}
我可以很好地阅读它,但是如果它看起来像这样:
{ "Main" :{ "Numbers": "45387", "Words": "space buckets"},
"Something" :{"Numbers": "12345", "Words": "Kransky"} }
我没有得到任何信息。我不知道如何在 Main 和 Something 之间切换!使用此代码加载带有此“嵌套”信息的 JSON,
// 用来保存我的信息的类
导致类返回空。
我尝试将组名添加到 DataContract,例如。[DataContract, Name="Main"] 但这仍然会导致类值为空。
我还尝试将“main”添加到序列化程序重载程序中,例如。var ser = new DataContractJsonSerializer(typeof(myInfo), "Main");
这会导致错误:从命名空间“”中期待元素“主”。遇到名称为“根”、命名空间“”的“元素”。
我宁愿只使用提供的 json 阅读器。我研究了 json.NET,但发现文档在编写 json 方面很繁重,而关于阅读的信息很少。当然,我在这里遗漏了一些简单的东西!
c# - c# 要反序列化的 XML 不正确
我有这个 XML,我需要反序列化,但类型不正确。
我该如何解决?我喜欢允许 int 和 string。
提前谢谢,
c# - 反序列化 json 字符串
如何设计一个在反序列化后保存值的类?我正在使用 JavaScriptSerializer
c# - 使用 C# 反序列化 JSON
在尝试在 C# 中反序列化 JSON 时,在获取信息时发现了一些困难。
我有以 JSON 格式返回的 Google 自定义搜索结果。我只想检查我的步骤并建立尝试反序列化它的顺序。这是正确的吗?
- 我需要创建类以匹配 JSON 格式。有点像创建模式文件。
- 使用
JavaScriptSerializer()
类和deserialize
方法提取相关位。
我认为我会遇到的问题之一是我不需要返回所有数据,而只需要 html 链接。我怎样才能做到这一点?
更新
我已使用以下 JSON 片段和 C# 代码更新了我的问题。我想将字符串“链接”输出到控制台,但它似乎不起作用。我认为我错误地定义了我的课程?
来自 Google 自定义搜索的 JSON
C# 代码段
谢谢
c# - 使用 XmlSerializer 反序列化复杂类型元素为 null
我有以下架构:
和以下课程:
使用以下代码反序列化对象:
没有发生任何错误,但对象的属性为空,有人知道发生了什么吗?
c# - DataContractJsonSerializer 为不同类型的成员抛出 InvalidCastException
有一段字符串我想用DataContractJsonSerializer
. JSON 字符串中有一个成员有时可能是对象,有时可能是字符串。像这样:
或者
我知道第二种情况下对象的结构(我们称之为类Inner
),但是如何DataContractJsonSerializer
转换两种可能类型的对象呢?
我尝试制作一个显式和隐式转换运算符来转换 from string
to Inner
,但它没有受到打击。一个InvalidCastException
不断被抛出。
json - 如何使用嵌套字典反序列化 json?
对于某些端点 SimpleGeo.com 返回如下内容:
(参见http://simplegeo.com/docs/api-endpoints/simplegeo-features#get-detailed-information)。
现在我在反序列化“属性”部分时遇到了一个小问题。如果我使用例如一种 Dictionary 类型,它会将其转换为一个不错的字典,但 'classifiers' 值只是一个 {} 字符串。
有没有办法告诉 json.net 将子数组反序列化为另一个 Dictionary 等?基本上,该返回中有一定数量的普通键/值,但我知道可能不仅仅是“分类器”子数组(参见“标签”),而且值的深度可能更进一步。 ..
所以基本上我想知道的是,我如何正确反序列化属性部分?有什么建议么?我不介意编写自己的 JsonConverter,但也许已经有一种方法可以不用它。
java - 序列化框架(无参数构造函数)
我正在寻找有关基于以下(Java)序列化对象图的最佳方法的一些信息:
- 如果它们的状态相等,则同一类的两个对象必须二进制相等(逐位)与 true 相比。(必须不依赖于 JVM 字段排序)。
- 集合仅使用数组建模(没有集合)。
- 所有实例都是不可变的
- 序列化格式应该是 byte[] 格式而不是基于文本的。
- 我控制着图中的所有类。
我不想在类中放置一个空的构造函数只是为了支持序列化。我已经研究过基于我自己的遍历和 Objenisis 实现一个解决方案,但我的问题似乎并不那么独特。首先更好地检查任何现有/完整的解决方案。
更新详情:
首先,感谢您的帮助!
- 对象必须根据对象状态序列化为完全相同的位顺序。这很重要,因为二进制内容将被数字签名。序列化格式的重建将基于对象的状态,而不是存储原始位。
- 不同技术之间的互操作性很重要。我确实看到该软件在 ex 上运行。.Net 未来。序列化格式中没有 Java 风格。
关于不可变性的注释:数组的值从参数复制到构造函数的内部字段。不太重要。
最好的祝福,
尼古拉斯·林德伯格