[JSON] 透過JSON.net 讓JSON排版變得好看

2017-07-21

今天主要是透過JSON.net 讓JSON Code 變得好看,等等,我知道你一定會說很多文章都寫過這東西不是很簡單,只要用這一行

 JsonConvert.SerializeObject(dataObject, Formatting.Indented);


嗯,你說的沒錯, 但是我只是要放在<span> 裡面呢,這時候我必須要把換行的\r\n 換成 <br> ,其中的空白換成&nbsp;  這時候我照樣得replace  換行部分是沒問題的,但是遇到空白的部分不知道為什麼都會有問題,於是我改寫了一段,讓他放在變成html code 可以正常
結果:
圖片 059

code :

            StringWriter sw = new StringWriter(new StringBuilder());
            var jsonSerializer = JsonSerializer.CreateDefault();
            using (JsonTextWriter jsonWriter = new JsonTextWriter(sw))
            {
                jsonWriter.Formatting = Formatting.Indented;
                jsonWriter.IndentChar = '\t';
                jsonWriter.Indentation = 4;

                jsonSerializer.Serialize(jsonWriter, dataObject, typeof(YOUR_OBJECT));
            }
            Literal.Text += sw.ToString().Replace("\r\n","<br>").Replace("\t","&nbsp;");


簡單得說去複寫掉IntentChar 之後再取代成為,看似簡單但是花了我一點時間,給碰到且需要的人。
問我為何不能單純取代,不知道為什麼總是有問題。

參考資料 :
https://stackoverflow.com/questions/33100164/customize-identation-parameter-in-jsonconvert-serializeobject


當麻許的超技八 2014 | Donma Hsu Design.