如何从 JSON 对象解析整数列表
How to parse a list of Integers from a JSON object
我在我的应用程序中使用 "Newtonsoft.Json.Linq.JObject"。
我有一个接收格式为 JObject 的方法:
{
"PersonnelIds": "[31,32,33,34]"
}
我想将 PersonnelIds 的内容解析为整数列表。
最好的方法是什么?
创建一个 class 来反序列化您的 json:
要创建 classes,您可以将 json 复制到剪贴板并使用
Edit / Paste special / Paste JSON as class
在visual studio(我用的是vs2013)。
然后反序列化你的字符串。
在
上查看我的解决方案
我可以看到 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();
我在我的应用程序中使用 "Newtonsoft.Json.Linq.JObject"。
我有一个接收格式为 JObject 的方法:
{
"PersonnelIds": "[31,32,33,34]"
}
我想将 PersonnelIds 的内容解析为整数列表。
最好的方法是什么?
创建一个 class 来反序列化您的 json:
要创建 classes,您可以将 json 复制到剪贴板并使用
Edit / Paste special / Paste JSON as class
在visual studio(我用的是vs2013)。
然后反序列化你的字符串。
在
我可以看到 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();