using System; using System.Windows.Forms; using Newtonsoft.Json; using Newtonsoft.Json.Linq; // JValue namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } 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; } private void btnBeautifier_Click(object sender, EventArgs e) { // JSON string을 보기 좋게 만듦 string jsonString = txtOriginal.Text; txtBeautified.Text = Beautify(jsonString); } // 방법2: JToken.ToString()을 이용하는 방법 private string Beautify(string jsonString) { string beautifiedJson = JValue.Parse(jsonString).ToString(Formatting.Indented); return beautifiedJson; } // 방법1: SerializeObject() Formatting을 이용하는 방법 private string Beautify_AnotherWay(string jsonString) { dynamic json = JsonConvert.DeserializeObject(jsonString); return JsonConvert.SerializeObject(json, Formatting.Indented); } } }