Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#如何将Json数据检索到数组中_C#_Arrays_Json - Fatal编程技术网

c#如何将Json数据检索到数组中

c#如何将Json数据检索到数组中,c#,arrays,json,C#,Arrays,Json,我发现了可以解析Json数据的不同库,但我没有找到任何关于如何将数据放入C#数组或列表的文档 我得到了这个Json数据: {“001”:{“姓名”:“约翰”,“电话”:[“Mob-98837374”,“Mob-983627”], “002”:{“姓名”:“汤姆”,“电话”:[“暴民-49858857”]} 有人有线索吗?:) 编辑: OP以评论形式发布的有用详细信息,由AnthonyWJones以问题编辑形式重新发布 我使用JSON.NET的代码: StringBuilder sb = new

我发现了可以解析Json数据的不同库,但我没有找到任何关于如何将数据放入C#数组或列表的文档

我得到了这个Json数据:

{“001”:{“姓名”:“约翰”,“电话”:[“Mob-98837374”,“Mob-983627”], “002”:{“姓名”:“汤姆”,“电话”:[“暴民-49858857”]}

有人有线索吗?:)

编辑

OP以评论形式发布的有用详细信息,由AnthonyWJones以问题编辑形式重新发布

我使用JSON.NET的代码:

StringBuilder sb = new StringBuilder();
List<string> entities = (List<string>)JsonConvert.DeserializeObject(responseFromServer, typeof(List<string>));
foreach (string items in entities) {
  sb.Append(items);
}
StringBuilder sb=新建StringBuilder();
列表实体=(列表)JsonConvert.DeserializeObject(responseFromServer,typeof(列表));
foreach(实体中的字符串项){
某人附加(项目);
}
但我在调试时总是出错:

警告1对类型“System.DateTimeOffset”的引用声称它是在“c:\Program>>Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\mscorlib.dll”中定义的,但在c:\Div\Json dot NET\Bin\Newtonsoft.Json.dll中找不到它

看看这个:


这里有一些特定于Json.NET的用于序列化和反序列化数组的文档:

您将使用它的目的是什么…如果您在客户端使用它,请使用相同的Json数据,因为它的性能非常高,但如果您在服务器端需要它,请搜索转换的替代方法json字符串到数组列表

目前的json结构存在一些问题。它似乎使用“001”和“002”等属性名作为数据。这在Javascript中很好,但在C#中处理起来非常棘手。更好的结构是:-

[ {"ID": "001", "Name":"John", "Phone":["Mob - 98837374","Mob - 98363627"]},
  {"ID":"002", "Name":"Tom", "Phone":["Mob - 49858857"]} ]

然后,正如其他人指出的那样,JSON.NET可以更有效地使用。

因为我是为windows mobile设备开发的,所以JSON.NET似乎太大了。我在尝试调试时出错,我发现整个设备的内存都被消耗掉了

无论如何,我想我将自己解析Json字符串,因为我知道字符串将得出什么结论

无论如何,谢谢你的建议


堆栈溢出上的人很棒!

你看过哪些库?你能展示一下你试图转换为C#数组的尝试吗?你应该将反序列化后的类发布到.My code中,使用JSON.NET:StringBuilder sb=new StringBuilder();List entities=(List)JsonConvert.DeserializeObject(responseFromServer,typeof(List));foreach(实体中的字符串项){sb.Append(items);}但我在调试时总是遇到一个错误:“警告1对类型'System.DateTimeOffset'的引用声明它是在'c:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\mscorlib.dll'中定义的,但是找不到c:\Div\Json dot net\Bin\Newtonsoft.Json.dll“最好对答案进行评论,而不是将答案点用作讨论板。