如何解析 JSON 資料

建立 JSON 檔案

建立檔案 Request.json 內容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"info": {
"address": [
{
"town": "Belgrade"
},
{
"town": "Paris"
},
{
"town": "Madrid"
}
]
}
}

建立 Class 對應

Class 內容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Address
{
public string town { get; set; }
}

public class Info
{
public List<Address> address { get; set; }
}

public class Request
{
public Info info { get; set; }
}

讀取資料並解析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!import Request.cs

using System.Text.Json;
using System.IO;

using (StreamReader r = new StreamReader(@".\Request.json"))
{
// 讀取整個檔案
string jsonString = r.ReadToEnd();

// 還原序列化成 Request 類別
Request req = JsonSerializer.Deserialize<Request>(jsonString);

req.Display();

// 序列化 Request 類別成 JSON 字串
string reqString = JsonSerializer.Serialize<Request>(req);

reqString.Display();
}