C# 格式化JSON的兩種實現(xiàn)方式
更新時間:2022年05月12日 09:51:50 作者:Csharp 小記
本文主要介紹了C# 格式化JSON的兩種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
當我們拿到一大段JSON字符串的時候,分析起來簡直頭皮發(fā)麻,相信很大一部分朋友也都會直接去BEJSON等網(wǎng)站去做一個JSON格式化,已方便自己查看數(shù)據(jù)、分析日志等
本篇我們可以使用JSON.NET來實現(xiàn)JSON數(shù)據(jù)的格式化。
實現(xiàn)功能:
- 格式化JSON字符串
開發(fā)環(huán)境:
- 開發(fā)工具: Visual Studio 2013
- .NET Framework版本:4.5
實現(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,//縮進字符數(shù) IndentChar = ' '//縮進字符 }; 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()方法會內部調用格式化,所以直接使用即可 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 = ""; }
實現(xiàn)效果:
到此這篇關于C# 格式化JSON的兩種實現(xiàn)方式的文章就介紹到這了,更多相關C# 格式化JSON內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!