如何将 JSON 数组转换为字符串值数组



我尝试像这样解析一些JSON:

{
   "results": [
       "MLU413843206",
       "MLU413841098",
       "MLU413806325",
       "MLU413850890",
       "MLU413792303",
       "MLU413843455",
       "MLU413909270",
       "MLU413921617",
       "MLU413921983",
       "MLU413924015",
       "MLU413924085"
   ]
}

在我尝试获取值本身之前,一切都很好,例如:

 // The JSON is shown above
 var jsonResp = JObject.Parse(json);    
 var items = jsonResp["results"].Children();

我不知道如何获取每个值都转换为字符串。 有人知道如何做到这一点吗?

你已经成功了一半。 可以使用 System.Linq 命名空间中的 Select() 方法将从 Children() 方法返回的IEnumerable<JToken>投影到IEnumerable<string>中。 从那里,您可以使用 foreach 循环访问值,或使用 ToList()(或两者)将值放入List<string>中。

string json = @"
{
    ""results"": [
        ""MLU413843206"",
        ""MLU413841098"",
        ""MLU413806325"",
        ""MLU413850890"",
        ""MLU413792303"",
        ""MLU413843455"",
        ""MLU413909270"",
        ""MLU413921617"",
        ""MLU413921983"",
        ""MLU413924015"",
        ""MLU413924085""
    ]
}";
JObject jsonResp = JObject.Parse(json);
List<string> items = jsonResp["results"].Children()
                                        .Select(t => t.ToString())
                                        .ToList();
foreach (string item in items)
{
    Console.WriteLine(item);
}

小提琴:https://dotnetfiddle.net/Jcy8Ao

相关内容

  • 没有找到相关文章

最新更新