我正在尝试解析以下json数据,但我收到以下错误:
传入的数组无效,','预期。 (19):{' 2':{' 2_1':[0:244, 1:837],' 2_2':[0:333,1:444]}}
代码
var jsonData = @"{ '2': { '2_1': [0: 244, 1: 837], '2_2': [0: 333, 1: 444] } }";
JavaScriptSerializer j = new JavaScriptSerializer();
var x = (Dictionary<string, List<object>>)j.DeserializeObject(jsonData);
任何帮助?
更改为:
string jsonData = @"{ 'Two': { 'Two_1': [{0: 244}, {1: 837}], 'Two_2': [{0: 333}, {1: 444}] } }";
但现在我收到以下错误:
无法投射类型的对象
System.Collections.Generic.Dictionary'2[System.String,System.Object]
输入System.Collections.Generic.Dictionary'2[System.String,System.Collections.Generic.List'1[System.Object]]
。
答案 0 :(得分:1)
您的JSON无效。如果你有对象数组,那么它应该看起来像
[{'0' : 244}, {'1': 837}]
请参阅JSON syntax:
对象是一组无序的名称/值对。一个对象开始 用{(左括号)和以}结尾(右括号)。每个名字都是 后跟:(冒号)和名称/值对分开, (逗号)。
另请注意,名称应为字符串。
更正JSON:
{'2': {'2_1': [{'0': 244}, {'1': 837}], '2_2': [{'0': 333}, {'1': 444}]}}
答案 1 :(得分:0)
也许是因为你有两个数字0和1作为名字? (“0”表示244&amp; 333,“1”表示837&amp; 444)