c# - 无法解析 C# 中的嵌套 Json 文件

标签 c#

我有来自 API 调用的 Json 格式响应,我想将响应中的数据映射到每个变量。

Json格式

{
 "success": true,
  "data": {
    "students": [
      {
       "Admission_date": "2018-05-01",
       "Name": "Sree",
       "Branch": "Electronics",
       "Semester": "2",
       "HOD": "Mahesh",
      },
  {
      "Admission_date": "2018-05-01",
      "Name": "Naresh",
      "Branch": "Electronics",
      "Semester": "2",
      "HOD": "Mahesh",
      }
              ],
     "remaining": 0
    }
    }

我尝试解析 JSON 响应,然后为每个响应加载值。但我无法实现解决方案。

JObject jsonparsing1 = JObject.Parse(str4); //str4;- Json value
var token1 = (JArray)jsonparsing1.SelectToken("data");
var token2 = (JArray)jsonparsing1.SelectToken("data[0]Students");
JArray abc = JsonConvert.DeserializeObject<JArray>(token2.ToString());

foreach (var test in abc)
{
String Admission_date=test["Admission_date"];
String Name=test["Name"];
String Branch=test["Branch"];
String Semester=test["Semester"];
String HOD=test["HOD"];
String remaining=test["remaining"];
}

预期结果

String Admission_date=Admission_date
String Name=Name
String Branch=Branch
String Semester=Semester
String HOD=HOD
String remaining=remaining

有人可以帮我解决这个问题吗?

最佳答案

我认为你可以使用这个示例:

public class JsonData
{
    public bool success { get; set; }
    public Data data { get; set; }
}
public class Data
{
    public Data()
    {
         this.students = new List<Student>();
    }

    public List<Student> students { get; set; }
    public int remaining { get; set; }
}
public class Student
{
    public string Admission_date { get; set; }
    public string Name { get; set; }
    public string Branch { get; set; }
    public string Semester { get; set; }
    public string HOD { get; set; }
}

然后:

JsonData abc = JsonConvert.DeserializeObject<JsonData>(token2.ToString());

关于c# - 无法解析 C# 中的嵌套 Json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56198081/

相关文章:

c# - 从扩展方法中消除可推断的泛型类型参数

c# - 将 C++ 移植到 C#

c# - 为什么关闭使用 AllocConsole 启动的控制台会导致我的整个应用程序退出?我可以改变这种行为吗?

c# - 名称 'X509Certificate2UI' 在当前上下文中不存在

c# - 插件 dll 中的 Log4Net 配置?

c# - ASP.NET MVC 3 - Linq to SQL 对象存储在 session 中

c# - GUI 被卡住,直到所有任务完成

c# - Asp.net MVC 路由问题 403.14

c# - 适用于 chrome、firefox 和 safari 浏览器的 Azure 浏览器推送通知

C#负对齐格式化