如何从 Jobject 获取值

本文关键字:获取 Jobject | 更新日期: 2023-09-27 18:34:44

我正在使用Newtonsoft JSon c#插件。我给一个贾雷

{"data":[{"name":"Wesley 1","id":"616611941"},{"name":"Wesley 2","id":"100000138033375"},..............

我想知道有没有办法循环大括号之间的每个对象并提取每个条目的名称和 id?

感谢任何可以提供帮助的人

如何从 Jobject 获取值

根据其他一些问题,您可以尝试:

var array = JArray.Parse(json);

然后执行

foreach(var item in array)
    // do something
dynamic dynObj = JsonConvert.DeserializeObject(json);
foreach (var item in dynObj.data)
{
    Console.WriteLine("{0} {1}",item.name,item.id);
}

使用jQuery就可以做到这一点。第一个循环将遍历数组中的每个项目。第二个循环将获取每个数组项中的键、值

$.each(data, function() {
  $.each(this, function(key, value) {
    //do what ever you want
  });
});

编辑

还行。你从别人那里得到了一些很好的答案。这是另一种方式。

命名空间

using System.Web.Script.Serialization;

添加在 json 中映射数据的强类型类

public class wordList
{
    public List<NameId> data { get; set; }
    public wordList() 
    { 
        data = new List<NameId>(); 
    }
}
public class NameId
{
    public string name { get; set; }
    public string id { get; set; }        
}

然后你打电话

 string jsonObj = @"{""data"":[{""name"":""Wesley 1"",""id"":""616611941""},{""name"":""Wesley 2"",""id"":""100000138033375""}]}";
 JavaScriptSerializer jsSer = new JavaScriptSerializer();
 wordList wl = jsSer.Deserialize<wordList>(jsonObj);

您可以遍历单词列表以获取名称,id值

using Newtonsoft.Json.Linq; 
using System.Collections.Generic;
List<JObject> data = JsonConvert.DeserializeObject<List<JObject>>(requestBody); 
   foreach(JObject d in data)
                    {
                        
                        string name = d.GetValue("name").ToString();
                        string id = d.GetValue("id").ToString();
                     
                    }