亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 Json 中的 2 個數組解析為 C# 中的 2 個列表?

如何將 Json 中的 2 個數組解析為 C# 中的 2 個列表?

C#
互換的青春 2022-08-20 15:20:19
我正在用C#制作一個應用程序,讓我的老師用于學生出勤,因為我剛剛開始C#(來自Java),我需要有人指導我朝著正確的方向前進。我有包含2個數組的Json文件,一個用于上午的學生,一個用于下午的學生,我需要將它們都解析為單獨的列表。在 Json 文件中,它們都有單獨的名稱(“上午”和“下午”)。如何通過 Json.NET 來實現此目的?我已經有2個列表,每個列表都包含學生。Student 類包含 3 個變量、名稱、ID 和狀態,這些變量與每個學生在每個學生數組中獲取的字段相對應。morningStudentsafternoonStudents您可以在下面找到我的Json文件的外觀表示形式。{    "morning":     [        {            "name": "Morning Student 1",            "id": "123456",            "status": "0"        }    ],    "afternoon":     [        {            "name": "Afternoon Student 1",            "id": "123456",            "status": "0"        }    ]}
查看完整描述

1 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

我建議你有兩個.NET類,一個代表學生,一個代表日程安排。該類將具有屬性列表和屬性列表。然后,您可以使用 JSON.NET 直接反序列化它。StudentSchedulemorningStudenteveningStudent


using System;                   

using System.Collections.Generic;

using Newtonsoft.Json;


public class Student {

    public String name { get; set; }

    public String id { get; set; }

    public Int32 status { get; set; }

    public override String ToString() {

        return name + "(" + id + "): " + status.ToString();

    }

}


public class StudentSchedule {

    public IList<Student> morning { get; set; }

    public IList<Student> afternoon { get; set; }

}


public class Program

{

    public static void Main()

    {

        String myJson = @"{

    'morning': 

    [

        {

            'name': 'Morning Student 1',

            'id': '123456',

            'status': '0'

        }

    ],

    'afternoon': 

    [

        {

            'name': 'Afternoon Student 1',

            'id': '123456',

            'status': '0'

        }

    ]

}";

        StudentSchedule studentSchedule = JsonConvert.DeserializeObject<StudentSchedule>(myJson);

        Console.WriteLine("========== MORNING ===========");        

        foreach(Student student in studentSchedule.morning) {

            Console.WriteLine(student);

        }

        Console.WriteLine("========== AFTERNOON ===========");      

        foreach(Student student in studentSchedule.afternoon) {

            Console.WriteLine(student);

        }

    }

}

我擺弄了這個代碼,讓你看看:https://dotnetfiddle.net/f7InH7。


您可以反序列化為動態對象以及此問題。由于你是C#的新手,我現在會避免動態,而是專注于首先獲得正確的基礎知識。


有關 JSON.NET 的更多文檔,請參閱 https://www.newtonsoft.com/json/help/html/SerializingJSON.htm。


查看完整回答
反對 回復 2022-08-20
  • 1 回答
  • 0 關注
  • 113 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號