이번 포스팅의 목표는 아래 리스트 안에 든 값을 json으로 파싱하는것이다.
![[c#] json 파싱하는법 json 예제](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
string jsonString = "[{\"Confidence\": 0.54,\"ClassNum\": 1}, {\"Confidence\": 0.82, \"ClassNum\": 0}]";
1. 클래스 생성(틀 만들기)
위 값을 추출하기 위해선 형태에 맞는 틀을 만들어 줘야한다.
우리는 그 틀을 클래스를 통해 만들거다.
class ClassificationResult
{
public decimal Confidence { get; set; }
public int ClassNum { get; set; }
}
클래스명은 자유롭게 생성해도 된지만 속성값(property)은 명칭을 일치시켜 줘야 한다.
(대문자, 소문자 조심)
뿐만 아니라 type도 맞춰줘야 에러가 발생하지 않는다.
jsonString
를 잘 보면 {Confidence, ClassNum} 객체가 모여 있는 리스트라 할 수 있다.
그렇기 때문에 List<ClassificationResult>
로 표현이 가능하다.
List<ClassificationResult>
=> 틀 완성
2. Deserialize(역직렬화) 시키기
JsonSerializer.Deserialize
를 통해 역직렬화시키면 틀에 맞춰 값이 할당된다.
using System.Text.Json;
string jsonString = "[{\"Confidence\": 0.54,\"ClassNum\": 1}, {\"Confidence\": 0.82, \"ClassNum\": 0}]";
List<ClassificationResult> Results = JsonSerializer.Deserialize<List<ClassificationResult>>(jsonString);
3. 값 확인
foreach (ClassificationResult item in Results)
{
Console.WriteLine($"Confidence : {item.Confidence}");
Console.WriteLine($"ClassNum : {item.ClassNum}");
};
//output
Confidence : 0.54
ClassNum : 1
Confidence : 0.82
ClassNum : 0
전체코드)
using System.Text.Json;
string jsonString = "[{\"Confidence\": 0.54,\"ClassNum\": 1}, {\"Confidence\": 0.82, \"ClassNum\": 0}]";
List<ClassificationResult> Results = JsonSerializer.Deserialize<List<ClassificationResult>>(jsonString);
foreach (ClassificationResult item in Results)
{
Console.WriteLine($"Confidence : {item.Confidence}");
Console.WriteLine($"ClassNum : {item.ClassNum}");
};
class ClassificationResult
{
public decimal Confidence { get; set; }
public int ClassNum { get; set; }
}
이 글과 읽으면 좋은글
'c#' 카테고리의 다른 글
[c# ] 필드 | 프러퍼티 앞에 붙어 있는 required는 뭘까? (0) | 2023.03.13 |
---|---|
[c# EntityFramework] dbcontext 마이그레이션 롤백하는 방법 (0) | 2023.02.28 |
C#에서 파이썬 파일 실행 시키는 방법 완벽정리(with Process) (1) | 2023.01.03 |
[c#] Entity Framework 사용 방법(code-first) (0) | 2022.08.19 |
[c#] 의존성 주입(dependency Injection) 이란? (2) | 2022.08.10 |
댓글
꼬예님의
글이 좋았다면 응원을 보내주세요!
이 글이 도움이 됐다면, 응원 댓글을 써보세요. 블로거에게 지급되는 응원금은 새로운 창작의 큰 힘이 됩니다.
응원 댓글은 만 14세 이상 카카오계정 이용자라면 누구나 편하게 작성, 결제할 수 있습니다.
글 본문, 댓글 목록 등을 통해 응원한 팬과 응원 댓글, 응원금을 강조해 보여줍니다.
응원금은 앱에서는 인앱결제, 웹에서는 카카오페이 및 신용카드로 결제할 수 있습니다.