C# 格式化JSON的兩種實(shí)現(xiàn)方式
當(dāng)我們拿到一大段JSON字符串的時(shí)候,分析起來簡直頭皮發(fā)麻,相信很大一部分朋友也都會直接去BEJSON等網(wǎng)站去做一個(gè)JSON格式化,已方便自己查看數(shù)據(jù)、分析日志等
本篇我們可以使用JSON.NET來實(shí)現(xiàn)JSON數(shù)據(jù)的格式化。
實(shí)現(xiàn)功能:
- 格式化JSON字符串
開發(fā)環(huán)境:
- 開發(fā)工具: Visual Studio 2013
- .NET Framework版本:4.5
實(shí)現(xiàn)代碼:
//第一種方式 private void btnFormat1_Click(object sender, EventArgs e) { if (textBox1.Text.Length == 0) { return; } try { JsonSerializer serializer = new JsonSerializer(); TextReader tr = new StringReader(textBox1.Text); JsonTextReader jtr = new JsonTextReader(tr); object obj = serializer.Deserialize(jtr); if (obj != null) { StringWriter textWriter = new StringWriter(); JsonTextWriter jsonWriter = new JsonTextWriter(textWriter) { Formatting = Formatting.Indented, Indentation = 4,//縮進(jìn)字符數(shù) IndentChar = ' '//縮進(jìn)字符 }; serializer.Serialize(jsonWriter, obj); textBox1.Text = textWriter.ToString(); } } catch (Exception ex) { MessageBox.Show("錯誤的JSON"); } } //第二種方式 private void btnFormat2_Click(object sender, EventArgs e) { if (textBox1.Text.Length == 0) { return; } try { //JObject.ToString()方法會內(nèi)部調(diào)用格式化,所以直接使用即可 string json = textBox1.Text.Trim(); //判讀是數(shù)組還是對象 if (json.StartsWith("[")) { JArray jobj = JArray.Parse(textBox1.Text); textBox1.Text = jobj.ToString(); } else if (json.StartsWith("{")) { JObject jobj = JObject.Parse(textBox1.Text); textBox1.Text = jobj.ToString(); } } catch (Exception ex) { MessageBox.Show("錯誤的JSON"); } } //清空 private void btnClear_Click(object sender, EventArgs e) { textBox1.Text = ""; }
實(shí)現(xiàn)效果:
到此這篇關(guān)于C# 格式化JSON的兩種實(shí)現(xiàn)方式的文章就介紹到這了,更多相關(guān)C# 格式化JSON內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#的鋸齒數(shù)組以及C++實(shí)現(xiàn)代碼
鋸齒數(shù)組首先是二維數(shù)組,第一維的維數(shù)是確定的。之所以在C#中能夠出現(xiàn)靈活的鋸齒數(shù)組,是因?yàn)椋珻#的數(shù)組是引用類型(本質(zhì)上存放的是指針)。根據(jù)這個(gè)引用類型(指針)的概念,C++中用指針數(shù)組同樣可以實(shí)現(xiàn)2013-09-09C#實(shí)現(xiàn)簡單過濾非法字符實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)簡單過濾非法字符的方法,涉及C#針對字符串遍歷與判斷的相關(guān)技巧,非常簡單實(shí)用,需要的朋友可以參考下2015-11-11解析美國東部時(shí)間與北京時(shí)間相互轉(zhuǎn)換的實(shí)現(xiàn)代碼
本篇文章是對美國東部時(shí)間與北京時(shí)間相互轉(zhuǎn)換的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05