gpt4 book ai didi

c# - 使用大集合反序列化 JSON

转载 作者:行者123 更新时间:2023-11-30 21:06:56 27 4
gpt4 key购买 nike

我正在编写一个控制台应用程序来解析来自外部源的 JSON 数据。这是在 C# 中使用 .NET 4.0(完整版本,而不是客户端配置文件)。我正在尝试使用 System.Web.Script.Serialization.JavaScriptSerializer 类将 JSON 数据反序列化为对象,如下所示:

var targetObject = deserializer.Deserialize<TargetObjectType>(json);

通常这工作正常,但是当数据包含一个非常大的集合时,我得到这个错误:System.InvalidOperationException(“由于对象的当前状态,操作无效。”)我做了一些研究并发现了这个: http://support.microsoft.com/kb/2661403 .基本上,Microsoft 限制项目的数量作为安全预防措施。

覆盖它的方法是按照支持文章中的描述向 Web.config 添加一条记录,但在我的例子中它不起作用。我做了一些研究,发现其他人在这里有这个问题:http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx .

所以我的问题是:有没有办法在控制台应用程序中使用 JavaScriptSerializer 反序列化具有大量集合的 JSON 对象?

请注意:我的团队领导不希望使用 Microsoft 以外的任何库。这意味着我不能使用 JSON.NET(AKA NEWTONSOFT),所以请不要建议它。

最佳答案

我建议您选择其他一些 Json De/Serializer。例如:http://james.newtonking.com/projects/json-net.aspx

它几乎可以处理我扔给它的任何东西;甚至来自 Couchbase 服务器的 TB 大小的转储(只要您在要反序列化/序列化的机器中有适当的 RAM)。

/edit:我读到您的领导更愿意坚持使用普通的 Microsoft Webstack。但是,再引用一个程序集会节省大量时间和很多麻烦事。

关于c# - 使用大集合反序列化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10807786/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com