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

Ped*_*Vaz 1 c# parsing json json.net

我在我的应用程序中使用"Newtonsoft.Json.Linq.JObject".

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

{
  "PersonnelIds": "[31,32,33,34]"
}
Run Code Online (Sandbox Code Playgroud)

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

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

Hos*_*kat 8

我可以看到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();
Run Code Online (Sandbox Code Playgroud)

如果您的值不是字符串,那么您的JSON就像{"PersonnelIds": [31,32,33,34] }那样,您可以使用以下代码解析它

JObject jObject = JObject.Parse(myjson);
JToken jToken = jObject.GetValue("PersonnelIds");
int[] array = jToken.Values<int>().ToArray();
Run Code Online (Sandbox Code Playgroud)

  • 这正是我想要的.非常感谢! (2认同)