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

c# - 使用可变 XML 元素从 XSD 进行 XML 反序列化

我得到了一个代表大量元素和相关属性的 XSD 文件。我使用 xsd.exe 创建了一个 CS 类。

问题是创建的 xml 可以包含任何或所有元素和属性。

示例 XML:

然后在我的代码中:

}

所以我的问题是如何根据上面的星号 (*) 行检查空/不存在的元素。

我不能以任何方式更改 xsd 或源 XML 文件,因为它们是由主要制造商生产的。

如果您需要更多信息,请与我们联系。

谢谢!布拉德

0 投票
5 回答
4746 浏览

ruby-on-rails - Rails 不会在反序列化 YAML/Marshal 对象时加载类

  • 导轨:3.0.3
  • 红宝石:1.9.2

尝试使用反序列化非常简单的对象YAML.loadMarshal.load产生损坏的对象,因为反序列化过程不需要所属的类。

例子:

使用此代码,我们可以运行此 shell 控制台会话而不会出现任何错误:

但是,如果我从 Rails 控制台运行反序列化调用,则对象不会正确反序列化,因为永远不需要该类:

我知道唯一的问题是不需要该课程,因为如果我手动需要它,一切正常:

我只介绍了 YAML 示例,但与 Marshal 几乎相同。

还要说,虽然我最初在Rails 控制台中重现了这个问题,但这个问题让我在对我的应用程序的正常请求中变得疯狂。

所以问题是:如何在 Rails 中反序列化对象而不必手动要求所有类?

谢谢

F。

0 投票
1 回答
479 浏览

session - 反序列化 wl_session_values weblogic 会话

我需要使用 JDBC 持久性来管理服务器会话。现在我需要将会话值(保存在 wl_session_values 中)变成一个真实的对象。下面我写我的代码:

但是当我尝试反序列化结果时,我总是得到java.io.StreamCorruptedException: invalid stream header: 73720013.

谢谢你的帮助。

0 投票
1 回答
231 浏览

performance - GAE 数据存储性能(列与 ListProperty)

在观看了“ Google IO 2009:在 App Engine 上构建可扩展、复杂的应用程序”之后,我进行了一些测试以帮助了解对列表反序列化的影响,但结果非常令人惊讶。以下是测试说明。

  • 所有测试都在 GAE 服务器上运行。
  • 每个测试执行 5 次,记录其时间和 CPU 使用率。
  • 这个测试是比较Columns VS List 中获取(float)数据的速度
  • Column 和 List 表都包含一个额外的 datetime 列用于查询。
  • 相同的查询用于获取 Column 和 List 表上的数据。

测试 1
- 获取单行
- 表大小:500 列与 500 列(均包含 500 行)

表:ChartTestDbRdFt500C500R <-- 500 列 x 500 行
OneRowCol 结果 <-- 获取一行
[0] 0.02 (52) <-- 测试 0,所用时间 = 0.02,CPU 使用率 = 52
[1] 0.02 (60)
[2 ] 0.02 (56)
[3] 0.01 (46)
[4] 0.02 (57)

表:ChartTestDbRdFt500L500R <-- 500 x 500 行列表
OneRowLst 结果
[0] 0.01 (40)
[1] 0.02 (38)
[2] 0.01 (42)
[3] 0.05 (154)
[4] 0.01 (41)

测试 2
- 获取所有行
- 表大小:500 列与 500 列(均包含 500 行)

表:ChartTestDbRdFt500C500R
AllRowCol 结果
[0] 11.54 (32753)
[1] 10.99 ( 31140)
[2] 11.07 (31245)
[3] 11.55 (37177)
[4] 10.96 (34300)

表:ChartTestDbRdFt500L500R
AllRowLst 结果
[0] 7.46 (20872)
[1] 7.02 (19632)
[2] 6.8 (18967)
[3] 6.33 (17709)
[4] 6.81 (19006)

测试 3
- 获取单行
- 表大小:4500 列与 4500 列(均包含 10 行)

表:ChartTestDbRdFt4500C10R
OneRowCol 结果
[0] 0.15 (419)
[1] 0.15 (433)
[2] 0.15 (415)
[3] 0.23 (619)
[4] 0.14 (415)

表:ChartTestDbRdFt4500L10R
OneRowLst 结果
[0] 0.08 (212)
[1] 0.16 (476)
[2] 0.07 (215)
[3] 0.09 (242)
[4] 0.08 (217)

结论

获取N个项目的列表实际上比N列更快。有谁知道为什么会这样?我认为列表反序列化会影响性能?还是我的测试不正确?任何见解都会有所帮助,谢谢!

0 投票
12 回答
709653 浏览

c# - 使用 Newtonsoft 将 JSON 反序列化为 .NET 对象(或者可能是 LINQ to JSON?)

我知道有一些关于 Newtonsoft 的帖子,所以希望这不是重复...我正在尝试将 Kazaa 的 API 返回的 JSON 数据转换为某种不错的对象

那条 JsonConvert 线只是我最近尝试的一条……我不太明白,希望通过询问你们来消除一些步法。我最初试图将它转换成字典或其他东西......实际上,我只需要在那里获取几个值,所以从文档来看,也许 Newtonsoft 的 LINQ to JSON 可能是一个更好的选择?想法/链接?

以下是 JSON 返回数据的示例:


我做了更多阅读,发现 Newtonsoft 的 LINQ to JSON 正是我想要的……使用 WebClient、Stream、StreamReader 和 Newtonsoft……我可以点击 Kazaa 获取 JSON 数据,提取 URL,下载文件,然后执行全部都在七行代码中!我喜欢它。


这篇文章获得了如此多的点击,我认为包含评论中讨论的“使用”位可能会有所帮助。

0 投票
3 回答
18369 浏览

c# - 使用 Json.net 将 JSON 数组中的多个项目添加到 C# 中的对象

谁能告诉我如何反序列化包含多个属性的对象?

鉴于以下情况,代码可以正常工作。

但是如果数组包含多个项目,我该怎么办,例如

提前致谢

下面已经给出的答案非常适合我提出的问题,但现在我已经领先一步了。如果json中有一个数组,例如在其中添加一个地址,任何人都可以建议我需要做什么吗?

0 投票
1 回答
1563 浏览

c# - C# json 反序列化 itunes search api

我只是不能让这种脱毒工作。它没有给出错误,但艺术家名称仍然为空。

任何人都可以帮忙吗?

json字符串:

{ "resultCount":1, "results": [ {"wrapperType":"track", "kind":"song", "artistId":414401, "collectionId":6666512, "trackId":6666508, "artistName" :"Autopilot Off", "collectionName":"Make a Sound", "trackName":"Byron Black", "collectionCensoredName":"Make a Sound", [...]"

HttpWebRequest 网络请求;

0 投票
4 回答
2063 浏览

java - 发送/序列化对象的最佳实践

问题:开发人员创建自己的序列化格式有多普遍?具体来说,我使用 java 本质上将对象作为带有标记的巨大字符串发送来分隔变量。

我的逻辑:我选择这个是因为它几乎消除了语言依赖性(忽略 java 修改后的 UTF-8),而且你没有对象版本问题,如果你使用 java 的序列化接收端必须有完全相同的版本对象,因此在旧版本上运行的客户端将无法接收任何对象数据。代码并不太难看,而且读起来还可以,但我想我的问题是这个实例的最佳实践是什么?这是针对个人项目的。

其他已知选择:好的,我只是在序列化一个对象以通过网络发送它,并且遇到了谷歌的协议缓冲区。序列化对象的标准化程度如何?我基本上遇到了三种方法来做到这一点。(我将在这里谈论 java,因为这就是我所做的) 1)使用语言的(java 的)本机序列化类 2)使用你自己的方式序列化对象,可能使用字符串和令牌 3)使用协议缓冲区或其他一些已知格式(JSON、XML 等)

根据我收集到的内容,您在序列化时基本上有 3 个主要目标:1)速度/效率/大小 2)语言独立性 3)版本接受(旧版本的代码仍然可以接受新版本的部分内容,反之亦然反之亦然)

大多数大型软件项目都使用协议缓冲区吗?如果您的客户端是资源少得多的移动设备,它会改变吗?

0 投票
2 回答
1814 浏览

c# - 反序列化具有多个值的 Json

我很难用 C# 反序列化以下 Json 数据:

为了更清楚一点,我创建了同一个 Json 的 XML 版本,只是为了可视化:

所以,我想我的问题是我有两种类型的文档:A 和 B 作为子文件夹的子文件夹。这是我的代码以及我的尝试方式,但这不起作用(C#):

我是 Json 数据解封的新手,所以如果我犯了很大的错误,请原谅我,请帮助我。

提前致谢。

0 投票
2 回答
26094 浏览

vb.net - 在 vb.net 中反序列化 json 数组

我有一个 json 数组,其格式如下:

我怎样才能以这样的方式反序列化它,以便我可以拥有一个由 索引的对象列表property?意思是,我希望能够像这样访问数据:MyList(96).lastproperty或者MyList(96).listofstuff.yetanother让它也返回正确的数据类型?这在 vb.net 中甚至可能吗?