欢迎来到代码驿站!

当前位置:首页 >

C# 格式化JSON的两种实现方式

时间:2023-03-01 15:11:44|栏目:|点击:

当我们拿到一大段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 = "";
  }

实现效果:

上一篇:四十九、从DOS工作站登录NTS4.0服务器

栏    目:

下一篇:android Retrofit2+okHttp3使用总结

本文标题:C# 格式化JSON的两种实现方式

本文地址:http://www.codeinn.net/misctech/226700.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有