我找到了可以解析Json数据的不同库,但是我找不到任何关于如何将数据导入C#数组或列表的文档。
我得到了这个Json数据:
{“001”:{“姓名”:“约翰”,“电话”:[“Mob - 98837374”,“Mob - 98363627”]}, “002”:{“姓名”:“汤姆”,“电话”:[“Mob - 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);
}
但是我在调试时总是遇到错误:
警告1对'System.DateTimeOffset'类型的引用声明它在'c:\ Program&gt;&gt;中定义Files \ Microsoft.NET \ SDK \ CompactFramework \ v3.5 \ WindowsCE \ mscorlib.dll',但它不能&gt;&gt;找到c:\ Div \ Json dot net \ Bin \ Newtonsoft.Json.dll“
答案 0 :(得分:3)
看看这个:Parsing JSON using Json.net
以下是一些用于序列化和反序列化数组的Json.NET特定文档:Serializing Collections with Json.NET
答案 1 :(得分:0)
出于何种目的使用它...如果您在客户端使用它,请使用相同的 json 数据,因为它的性能会很高但是如果您需要它在服务器端然后搜索将 json字符串转换为数组列表 ....
的替代方法答案 2 :(得分:0)
现有的JSON结构存在一些问题。它似乎使用诸如“001”和“002”的属性名称作为数据。这在Javascript中很好,但在C#中处理它真的很棘手。更好的结构是: -
[ {"ID": "001", "Name":"John", "Phone":["Mob - 98837374","Mob - 98363627"]},
{"ID":"002", "Name":"Tom", "Phone":["Mob - 49858857"]} ]
然后其他人指出的JSON.NET可以更有效地使用。
答案 3 :(得分:0)
由于我正在为Windows移动设备开发,看起来Json.net太大了。尝试调试时出错,我发现整个设备的内存都被消耗了。
无论如何......我想我会自己解析Json字符串,因为我知道字符串会结束。
无论如何,谢谢你的建议。
Stack溢出的人很棒!