欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# 格式化JSON的兩種實(shí)現(xiàn)方式

 更新時(shí)間:2022年05月12日 09:51:50   作者:Csharp 小記  
本文主要介紹了C# 格式化JSON的兩種實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

當(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)文章

最新評論