역직렬화하려는 JSON이 있고 역직렬화할 클래스가 없는 경우 또는 수신하는 JSON에 고정된 스키마가 없는 경우 해당 스키마가 포함된 내용을 알기 위해 검사할때 사용할 수 있습니다.
* .NET 6, console
using System.Text.Json.Nodes;
using System.Text.Json.Nodes;
var options = new JsonSerializerOptions
{
//Encoder : 문자 인코딩 사용자 지정
Encoder = JavaScriptEncoder.Create(UnicodeRanges.All),
//WriteIndented : 사용자 가독성을 위해 JSON의 서식을 지정
WriteIndented = true
};
string jsonString = @"
{
""Name"": ""박진우"",
""Age"": 28,
""Nickname"": [
""원빈"",
""장동건"",
""현빈""
],
""Favoritefood"": [
""소고기"",
""돼지고기"",
""닭고기""
],
""Birthday"": ""1994-08-09T00:00:00+09:00"",
""Employed"": true
}
";
JsonNode jsonNode = JsonNode.Parse(jsonString);
Console.WriteLine(jsonNode.ToJsonString(options));
Console.WriteLine(jsonNode["Name"]);
Console.WriteLine(jsonNode["Age"]);
Console.WriteLine(jsonNode["Nickname"]);
Console.WriteLine(jsonNode["Favoritefood"].ToJsonString(options));
Console.WriteLine(jsonNode["Birthday"]);
Console.WriteLine(jsonNode["Employed"]);
//output :
박진우
28
[
"\uC6D0\uBE48",
"\uC7A5\uB3D9\uAC74",
"\uD604\uBE48"
]
[
"소고기",
"돼지고기",
"닭고기"
]
1994-08-09T00:00:00+09:00
true
[.NET] int[] 배열 한번에 초기화 하기 (0) | 2022.10.19 |
---|---|
[.NET] 현재 Directory 경로 (0) | 2022.10.15 |
[.NET] .NET sdk 버전 확인 (0) | 2022.10.10 |
[.NET] JsonSerializer.Serialize 한글 적용 (0) | 2022.10.10 |
[.NET] Json 직렬화 및 역직렬화 (0) | 2022.10.10 |
댓글 영역