如何从JSON对象解析整数列表

时间:2015-01-26 11:05:03

标签: c# json parsing json.net

我在我的应用程序中使用“Newtonsoft.Json.Linq.JObject”。

我有一个以下列格式接收JObject的方法:

{
  "PersonnelIds": "[31,32,33,34]"
}

我想将PersonnelIds的内容解析为整数列表。

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:6)

我可以看到PersonnelIds的值写成字符串"[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();

答案 1 :(得分:0)

创建一个类来反序列化你的json:

要创建类,可以在剪贴板中复制json并使用

Edit / Paste special / Paste JSON as class

在visual studio中(我使用vs2013)。

然后反序列化你的字符串。

this post

上查看我的解决方案