닷넷/C#

C# JSON 파일 읽기/쓰기 (Deserialize/Serialize)

FreeBear 2023. 4. 4. 16:02
반응형

2018.10.26 - [C#] - C# Json 파싱하기 전, 비주얼스튜디오 프로젝트에 Newtonsoft.Json 설치하기

2018.10.31 - [C#] - C# JSON 파싱하기

 

예전에 JSON 파일을 읽고 쓰는 것 보다 파싱하는 것을 먼저 작성을 했었는데 JSON 파일을 읽고 쓰는 방법은 다음과 같습니다.

 

1. Newtonsoft.Json 라이브러리를 사용하여 JSON 파일을 읽고 쓰는 방법

1) JSON 파일 읽기

using System.IO;
using Newtonsoft.Json;

// JSON 파일 경로
string filePath = "example.json";

// 파일 읽기
using (StreamReader r = new StreamReader(filePath))
{
    string json = r.ReadToEnd();
    // JSON 문자열을 객체로 변환
    Person obj = JsonConvert.DeserializeObject<Person>(json);
}

 

2) JSON 파일 쓰기

using System.IO;
using Newtonsoft.Json;

// JSON 파일 경로
string filePath = "example.json";

// JSON 객체 생성
Person obj = new Person
{
    name = "John",
    age = 30,
    city = "New York"
};

// JSON 문자열로 변환
string json = JsonConvert.SerializeObject(obj);

// 파일 쓰기
using (StreamWriter w = new StreamWriter(filePath))
{
    w.Write(json);
}

 

 

2. System.Text.Json 라이브러리를 사용하여 JSON 파일을 읽고 쓰는 방법

1) JSON 파일 읽기

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

// JSON 파일 경로
string filePath = "example.json";

// 파일 읽기
string json = File.ReadAllText(filePath);

// JSON 문자열을 객체로 변환
JsonDocument doc = JsonDocument.Parse(json);

 

2) JSON 파일 쓰기

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

// JSON 파일 경로
string filePath = "example.json";

// JSON 객체 생성
Person obj = new Person
{
    name = "John",
    age = 30,
    city = "New York"
};

// JSON 문자열로 변환
string json = JsonSerializer.Serialize(obj);

// 파일 쓰기
File.WriteAllText(filePath, json);
반응형