{'order':'0','name':'fdgfdgdf','doi':'ddddddddddddd'},
{'order':'1','name':'gfdgfdgfdg','doi':'fdfsdfdsfffffffff'},
{'order':'2','name':'dfsdsfdsfdsf','doi':'dsfdfdfsF67D48DD4713'}
c#反序列化的代码,谢谢
是要将Json转换成对象吗?JDynamic
你去看看这个。用着还不错。http://www.oschina.net/p/jdynamic
或者选择使用 List<Model> _model= new JavaScriptSerializer().Deserialize<List<Model>>(Json);
去序列化。
JsonNetJsonSerizlizer jsonxml = new JsonNetJsonSerizlizer();
List<ResourceData> data = jsonxml.Deserizlize<List<ResourceData>>(json);
报错了
“Newtonsoft.Json.JsonSerializationException”类型的异常在 Newtonsoft.Json.dll 中发生,但未在用户代码中进行处理
其他信息: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1[YHDB.Common.ResourceData]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path 'order', line 1, position 9.
@晓皓: 这说明你的Json格式有问题。你先手动截取一下。http://tool.sufeinet.com/Code/HtmlToCsharp.aspx?type=jisujs&str=cb8b09dbe43b372b1c6a42084480e13d
这个站里效验一下你的Json格式数据是不是正常的。
@贫民窟大侠:
@晓皓: 把你的整个串儿贴出来看看。这Json不是正确的格式。
@贫民窟大侠: {
'order': 0,
'name': '财...',
'doi': '48D96A5D-03B4-4cf4-BD4A-3D58F5932665'
},
{
'order': 1,
'name': '海...',
'doi': 'C0DD45C9-37F6-470b-9C93-EA9A79763AE4'
},
{
'order': 2,
'name': '我...',
'doi': 'A69BC6CA-60E5-455e-A9ED-F67D48DD4713'
},
{
'order': 3,
'name': '导...',
'doi': 'f0b52c58-788d-4c73-b13e-5bf6e193efbc'
},
{
'order': 4,
'name': '中...',
'doi': '90c34091-69a8-4aaa-995c-3e36098411cf'
}
@晓皓:
[{
"order": 0,
"name": "财...",
"doi": "48D96A5D-03B4-4cf4-BD4A-3D58F5932665"
},
{
"order": 1,
"name": "海...",
"doi": "C0DD45C9-37F6-470b-9C93-EA9A79763AE4"
},
{
"order": 2,
"name": "我...",
"doi": "A69BC6CA-60E5-455e-A9ED-F67D48DD4713"
},
{
"order": 3,
"name": "导...",
"doi": "f0b52c58-788d-4c73-b13e-5bf6e193efbc"
},
{
"order": 4,
"name": "中...",
"doi": "90c34091-69a8-4aaa-995c-3e36098411cf"
}]
你的Json应该是这样的才对。不知你为何会得到这样的一个串儿
@贫民窟大侠: 加上【】还是不对
@晓皓: 仔细看,我的是双引号!
@贫民窟大侠: 不行就.Replace("\'","\""); 替换一下吧!你原始的Json串里肯定有斜杠的。再在前面加上"["后面加上"]"。回去了。拜拜!
@贫民窟大侠: 果然是,多谢,结贴
@晓皓: 你没看到 order=4 的 doi 这一行 最后 差了一个 单引号吗?
newtosoft里反序列化的时候可以传类型,JsonDes.....<List<T>>(string)