.net 反序列化';它首先从XML转换而来
我正在创建一个.net应用程序来管理来自各种web服务的一些提要。我刚刚开始使用JSON.NET,我希望将JSON转换成我的.NET对象 因此,我认为对于任何不能作为JSON获取的提要,我都会获取XML并首先将其转换为JSON,然后我可以使用一组处理JSON的方法来完成实际工作 在这样做的过程中,我遇到了以下问题:使用.net 反序列化';它首先从XML转换而来,.net,xml,json,serialization,json.net,.net,Xml,Json,Serialization,Json.net,我正在创建一个.net应用程序来管理来自各种web服务的一些提要。我刚刚开始使用JSON.NET,我希望将JSON转换成我的.NET对象 因此,我认为对于任何不能作为JSON获取的提要,我都会获取XML并首先将其转换为JSON,然后我可以使用一组处理JSON的方法来完成实际工作 在这样做的过程中,我遇到了以下问题:使用JsonConvert.SerializeXmlNode(myXMLdoc)将XML转换为JSON字符串(称为myInput)后,使用JsonConvert.Deserialize
JsonConvert.SerializeXmlNode(myXMLdoc)
将XML转换为JSON字符串(称为myInput
)后,使用JsonConvert.DeserializeObject(对象的列表))(myInput)
时出现错误:
无法将JSON对象反序列化为类型
'System.Collections.Generic.List'1[System.Object]'。第1行,位置
八,
myInput
的启动方式如下:
{"?xml":{"@version":"1.0","@encoding":"UTF-8","@standalone":"yes"},"items":{"@size":"72","item":[{"id":"123456","description": ...
因此,我的问题是导致此错误的具体原因,但我也很高兴听到我的方法是否是一个好主意(即在继续之前将所有输入数据转换为JSON)-或者如果有一个既定的模式来做这类事情,我会更好地学习和实现。我认为问题在于JSON字符串的格式错误 反序列化是指无法将JSON对象反序列化到列表中 {}-表示JSON对象=.NET对象及其属性或.NET字典 []-表示JSON数组=.NET数组或列表
因此,您应该只从json字符串中提取项目,并将它们存储为“[]”行,谢谢。我在这里盲目地使用json.net
JsonConvert.SerializeXmlNode
方法。它显然无法预测数组和对象的区别。您知道我的备选方案是什么吗?也许您的xml在“items”节点上需要一些元数据来告诉JsonConvert这是一个列表或数组。