티스토리 뷰

목차

    반응형

    C# Json 파싱 예제 - List에 클래스 객체 저장 (json to list object)


    기본적으로 C# Json 파싱은 단일 자료형 기반으로 운용하는 경우가 많습니다. 그래도 사용하다 보면 클래스 객체를 기준으로 Json에 데이터를 써야 할 경우도 생기죠. 이럴 때 매번 클래스 객체를 생성하여 반복문 등으로 삽입하기엔 귀찮은 점이 많습니다.


    c# json 예제 json to listC# Json 파싱 예제 - List에 클래스 객체 저장 (json to list object)


    그래서 아래와 같이 클래스 객체를 List에 담아 한 번에 Json으로 생성하는 것이 조금 더 수월합니다. 우선, Json에 추가할 public class를 하나 선언합니다.


    1
    2
    3
    4
    5
    6
    public class data
    {
        public int Id { get; set; }
        public int SSN { get; set; }
        public string Message { get; set; }
    }
    cs


    그리고 실제로 사용을 해보죠.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    static void Main(string[] args)
    {
        List<data> _data = new List<data>();
     
        _data.Add(new data()
        {
            Id = 1,
            SSN = 2,
            Message = "A Message"
        });
     
        string json = JsonConvert.SerializeObject(
                        _data.ToArray(), Formatting.Indented);
     
        //write string to file
        System.IO.File.WriteAllText(@"C:\path.json", json);
    }
    cs


    List 객체 _data를 생성하고 축약된 형태로 data 클래스 객체를 생성합니다.


    C# Json 파싱 예제 - List에 클래스 객체 저장 (json to list object)C# Json 파싱 예제 - List에 클래스 객체 저장 (json to list object)


    그리곤 ToArray() 함수를 이용해 Json으로 value를 넘기는 것이죠. 아주 간단합니다.


    1
    string SerializeObject(object value, Formatting formatting);
    cs


    참고로 위에서 사용한 Json 함수의 원형은 위와 같습니다. 


    object 형으로 인자를 받기 때문에 어떤 클래스나 자료형도 다 받아들일 수 있죠.


    C# Json 파싱 예제 - List에 클래스 객체 저장 (json to list object)

    반응형