투케이2K

99. (C#/NET) [Mac Os] [문법] JsonSerializer 사용해 JsonArray 인코딩 수행 - List Model 본문

C샵 (NET)

99. (C#/NET) [Mac Os] [문법] JsonSerializer 사용해 JsonArray 인코딩 수행 - List Model

투케이2K 2024. 3. 17. 20:45

[개발 환경 설정]

개발 언어 : C# / NET

 

[소스 코드]

using System;
using System.Collections;
using System.Data;
using System.Diagnostics.Tracing;
using System.Text;
using System.Text.Json.Serialization;
using System.Web;
using System.Text.Json;
using System.Text.Encodings.Web;
using System.Text.Unicode;

namespace testProject {


    // [Json 데이터 모델 객체]
    public class User {

        public string name { get; set; }
        public int age { get; set; }

    }





    // [프로그램 동작 클래스]
    class Program {

        // [메소드 수행]
        static void Main(string[] args){

            // [변수 선언 실시]
            List<User> users = new List<User>();


            // [객체 생성]
            User user = new User();


            // [for 문을 수행하면서 JsonArray 생성]
            for (int i = 1; i <= 3; i++) { 
                
                if (user != null){
                    user = new User();
                }

                // [객체 데이터 삽입]
                user.name = "투케이";
                user.age = i;

                // [배열 데이터 삽입]
                users.Add(user);
            }


            // [JsonSerializer 사용해 Object To Json 변환 수행] : [using System.Text.Json]
            JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions {
                Encoder = JavaScriptEncoder.Create(UnicodeRanges.BasicLatin, UnicodeRanges.HangulSyllables)
            };

            string jsonString = JsonSerializer.Serialize<List<User>>(users, jsonSerializerOptions);
            

            // [결과 출력]
            Console.WriteLine($"");
            Console.WriteLine($"------------------------------------------");
            Console.WriteLine($"[Main] : [Log]");
            Console.WriteLine($"------------------------------------------");
            Console.WriteLine($"jsonString : {jsonString}");
            Console.WriteLine($"------------------------------------------");
            Console.WriteLine($"");

        }

    }

}
 

[결과 출력]


반응형
Comments