当前位置: 首页 > 面试题库 >

在C#中遍历JSON对象

戈建白
2023-03-14
问题内容

我在C#中使用JSON.NET解析来自Klout API的响应。我的回答是这样的:

[
  {
    "id": "5241585099662481339",
    "displayName": "Music",
    "name": "music",
    "slug": "music",
    "imageUrl": "http://kcdn3.klout.com/static/images/music-1333561300502.png"
  },
  {
    "id": "6953585193220490118",
    "displayName": "Celebrities",
    "name": "celebrities",
    "slug": "celebrities",
    "imageUrl": "http://kcdn3.klout.com/static/images/topics/celebrities_b32741b6703151cc7bd85fba24c44c52.png"
  },
  {
    "id": "5757029936226020304",
    "displayName": "Entertainment",
    "name": "entertainment",
    "slug": "entertainment",
    "imageUrl": "http://kcdn3.klout.com/static/images/topics/Entertainment_7002e5d2316e85a2ff004fafa017ff44.png"
  },
  {
    "id": "3718",
    "displayName": "Saturday Night Live",
    "name": "saturday night live",
    "slug": "saturday-night-live",
    "imageUrl": "http://kcdn3.klout.com/static/images/icons/generic-topic.png"
  },
  {
    "id": "8113008320053776960",
    "displayName": "Hollywood",
    "name": "hollywood",
    "slug": "hollywood",
    "imageUrl": "http://kcdn3.klout.com/static/images/topics/hollywood_9eccd1f7f83f067cb9aa2b491cd461f3.png"
  }
]

如您所见,它包含5个id标签。也许下次是6或1或其他一些数字。我想遍历JSON并获取每个id标签的值。我不知道会有多少个循环。我该如何解决?


问题答案:
dynamic dynJson = JsonConvert.DeserializeObject(json);
foreach (var item in dynJson)
{
    Console.WriteLine("{0} {1} {2} {3}\n", item.id, item.displayName, 
        item.slug, item.imageUrl);
}

要么

var list = JsonConvert.DeserializeObject<List<MyItem>>(json);

public class MyItem
{
    public string id;
    public string displayName;
    public string name;
    public string slug;
    public string imageUrl;
}


 类似资料:
  • 问题内容: 我正在尝试遍历JSON对象以导入数据,即标题和链接。我似乎无法掌握过去的内容。 JSON: 我尝试使用字典: 此代码仅在之前打印信息。( 忽略贾斯汀·比伯的曲目 :) 问题答案: 您加载JSON数据有些脆弱。代替: 您实际上应该这样做: 您不应该将“ JSON对象”视为什么。您所拥有的是清单。该列表包含两个字典。字典包含各种键/值对,所有字符串。当您这样做时,您将要求列表中的第一个字典

  • 问题内容: 我很难找到一种以我想要的方式遍历此JSON对象的方法。我在这里只使用Javascript。 首先,这是对象 现在,我正在尝试基本方法来访问此对象上的每个dialog_trunk。理想情况下,我想遍历对象,并为每个主干显示其值。 我已经尝试过使用for循环动态地生成dialog_trunk的名称/编号,但是我无法使用对象名称的字符串来访问该对象,因此我不确定从何处去。 问题答案: 为此使

  • 问题内容: 我有以下代码: 打印出以下内容: {“ active”:{“ label”:“ Active”,“ value”:“ 12”},“ automatic”:{“ label”:“ Automatic”,“ value”:“ 8”},“ waiting”:{ “ label”:“正在等待”,“ value”:“ 1”},“ manual”:{“ label”:“ Manual”,“ val

  • 问题内容: 我在下面的EJS中有代码, 行的输出是正确的,由3个对象组成的数组,每个对象具有属性ID,名称等。我可以操纵行以在JS中填充表格。但是,我想知道是否有一种方法可以通过上述方式完成? 当我运行上面的代码时,JSON.stringify(data).length不是3,而是整个字符串的长度。 另一个问题是当我尝试添加 <%警报(’t’); %>或<%window.alert(’t’); %

  • 问题内容: 我从Web服务返回一个List <>作为JSON对象的列表。我正在尝试使用一个for循环来遍历列表并从属性中获取值。这是返回的JSON的示例: 因此,我尝试使用类似以下的方法提取内容: 应该怎么做? 问题答案: 今天遇到了同样的问题,您的话题对我有所帮助,所以这里找到解决方法;

  • 问题内容: 我正在尝试遍历json文件并获取所需的详细信息,这是我的json 我的java代码 如您在代码中所看到的,我正在导入json文件并尝试获取下一个元素并从中打印组件,我还应该同时打印标头,行列式和行列式值。谢谢 问题答案: 您没有数组-您拥有名称为“ 000”等的 属性 。数组如下所示: 请注意,-表示JSON数组。 您可以遍历using 的属性: 要么: