Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- datagridview 직접입력
- setInterval clear
- DataGridView 직접 입력
- DatePicker
- mosquitto
- pm2 시작
- pm2 상태 확인
- 맥 어드레스
- mySQL_Replication
- timepicker
- 1883
- c# datagridview 데이터 넣기
- Replication
- transfer
- allow_anonymouse
- setInterval 정지
- invalid data
- AntDesign
- 서버동기화
- pm2 설치
- setInterval 중지
- pm2 확인
- pm2
- 공인IP
- listener 1883
- mosquitto.conf
- setInterval 외부 정지
- map이 undefined가 뜰 때
- 데이터테이블 데이터 넣기
- html #select #option #multiple
Archives
- Today
- Total
개발 노트
SERIALIZE DESERIALIZE 본문
json string beautifier
json string을 화면에 표시할 때, 라인 및 들여쓰기를 제대로 하지 않으면 읽기 어려운 경우가 있다
예를 들어 웹서비스 등의 외부 소스로부터 JSON String을 전달 받은 경우,
일반적으로 포맷팅이 잘 되어 있지 않은데 이때 간단한 포맷팅 기능을 추가해서 화면에 출력하는 것이 좋다
(JSON 데이터를 이렇게 직접 출력하는 것은 디버깅에서 많이사용된다
JSON BEAUTIFIER는 여러 가지 방식으로 구현할 수 있지만
여기서는 JSON.NET에 내장된 포맷팅 기능을 이용해서 간단히 구현해본다
JsonConvert.SerializeObject() 메서드를 사용하는 방법이 있는데 SerializeObject()의 두번째 파라미터로 Formatting.Indented 옵션을 주면 자동으로 라인/들여쓰기된 문자열을 리턴해준다
using System;
using System.Windows.Forms;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq; // JValue
namespace WindowsFormsApp6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// JSON string을 보기 좋게 만듦
string jsonString = txtOriginal.Text;
txtBeautified.Text = Beautify(jsonString);
}
private void Form1_Load(object sender, EventArgs e)
{
// 테스트용 JSON string 만들기
var p = new { Id = 1, Name = "Alex", Address = new { City = "Redmond", State = "WA", Zip = "98052" } };
string jsonString = JsonConvert.SerializeObject(p);
txtOriginal.Text = jsonString;
}
// 방법1: SerializeObject() Formatting을 이용하는 방법
private string Beautify(string jsonString)
{
dynamic json = JsonConvert.DeserializeObject(jsonString);
return JsonConvert.SerializeObject(json, Formatting.Indented);
}
}
}
JSON(JavaScript Object Notation) 데이터 직렬화 및 역직렬화
- 직렬화(Serialize): C# 개체를 JSON 문자열로 변환
- 역직렬화(Deserialize): JSON 문자열을 C# 개체로 변환
JSON.NET
'프로그래밍 > C#' 카테고리의 다른 글
C# 책 포스팅 (0) | 2022.03.16 |
---|---|
MSSQL - WITH 구문(임시테이블 만들기) (0) | 2022.03.14 |
System.IO 파일입출력 텍스트모드 바이너리모드 (0) | 2022.03.10 |
로그파일저장 (0) | 2022.03.10 |
C# listbox 텍스트파일 저장후 불러오기 (0) | 2022.03.07 |