json格式化(json前端格式化字符串)

json格式化(json前端格式化字符串)

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

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

json格式化(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();

   
json格式化(json前端格式化字符串)
} } catch (Exception ex) { MessageBox.Show("错误的JSON"); } } //清空 private void btnClear_Click(object sender, EventArgs e) { textBox1.Text = ""; }

实现效果:

json格式化(json前端格式化字符串)

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

由简入繁,拿来即用

后续精彩,持续关注

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/28272.html

(0)
上一篇 2023-10-01 15:30
下一篇 2023-10-01 17:30

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注