我在我的应用程序中使用了"Newtonsoft.Json.Linq.JObject"。
我有一个接收格式为 JObject 的方法:
{
"PersonnelIds": "[31,32,33,34]"
}
我想将 PersonnelId 的内容解析为整数列表。
最好的方法是什么?
我可以看到 PersonnelId 的值是写成字符串"[31,32,33,34]"
所以要用这种语法解析它,你可以使用以下代码
JObject jObject = JObject.Parse(myjson);
JToken jToken = jObject.GetValue("PersonnelIds");
var array = JArray.Parse(jToken.Value<string>()).Select(x => (int)x).ToArray();
如果您的值不是字符串,因此您的 JSON 就像{"PersonnelIds": [31,32,33,34]
}
那么您可以使用以下代码解析它
JObject jObject = JObject.Parse(myjson);
JToken jToken = jObject.GetValue("PersonnelIds");
int[] array = jToken.Values<int>().ToArray();
创建一个类来反序列化你的 json:
要创建类,可以在剪贴板中复制 json 并使用
Edit / Paste special / Paste JSON as class
在Visual Studio中(我使用vs2013)。
然后反序列化字符串。
在这篇文章中查看我的解决方案