金海岸注册
金海岸注册
你的位置:金海岸注册 > 业务范围 > C# 格式化JSON的两种方式

C# 格式化JSON的两种方式

发布日期:2024-07-22 02:52    点击次数:113

     当我们拿到一大段JSON字符串的时候,分析起来简直头皮发麻,相信很大一部分朋友也都会直接去BEJSON等网站去做一个JSON格式化,已方便自己查看数据、分析日志等

本篇我们可以使用JSON.NET来实现JSON数据的格式化。

图片

实现功能:

格式化JSON字符串

开发环境:

开发工具:Visual Studio 2013

.NET Framework版本:4.5

实现代码:

//第一种方式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,//缩进字符数                  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();          //判读是数组还是对象          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 = "";  }

实现效果:

图片

第一种方式的缩进字符和缩进量可以换成其他的看看效果,但个人觉得肯定没有空格看着舒服

由简入繁,拿来即用

后续精彩,持续关注

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。