c# - 多次存在相同名称时无法解析 JSON

标签 c# json

我正在解析 JSON 以提取名称详细信息。但是,我遇到了一个错误。 你能帮我提取姓名的详细信息吗?

var jsonResult = JObject.Parse(jsonFileContents);
Console.WriteLine("Name :" + jsonResult["Name"]);

json文件内容:

[
  {
    "Name": "Joe",
    "Age": 25,
    "Rank": 1
  },
  {
    "Name": "Peter",
    "Age": 32,
    "Rank": 2
  }
]

错误: 未处理的异常:Newtonsoft.Json.JsonReaderException:从 JsonReader 读取 JObject 时出错。当前 JsonReader 项目

最佳答案

看起来,你输入的 JSON 是 JSON Array。需要解析如下

需要指定Index来提取各个元素。例如,提取名字。

var jsonResult = JArray.Parse(jsonFileContents);
Console.WriteLine("Name :" + jsonResult[0]["Name"]);

如果你想提取所有的名字细节,那么你可以像下面这样迭代获取

从 JSON 数组中提取所有名称详细信息:

       var jsonResult = JArray.Parse(jsonFileContents);
       for(int i = 0; i < jsonResult.Count; i++)
        {
            Console.WriteLine(jsonResult[i]["Name"]);
        }

关于c# - 多次存在相同名称时无法解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50608085/

相关文章:

c# - twilio-csharp 在 Mono 中工作吗?

c# - 在 C# 中动态实现接口(interface)的最佳方式是什么?

java - 如何从 json 字符串中删除键名

ios - 如何将NSStrings的NSArray转换成Json String iOS

json - 将 JSON 转换为属性选项数组

c# - 运算符 '?' 不能应用于类型 'T' 的操作数

c# - 如何在 C# 中读取 XML 文档对象?

c# - 通过 TCP 或更好的协议(protocol)进行更快的状态复制

java - Android 开发中的 Twitter JSON API

php - 为什么使用 json_encode PHP 时 php 的结果与 Mysql 的结果不同?