云狐网

您现在的位置是:首页 > 网站建设 > 网络编程

网络编程

bejson格式化校验如何运行 - 格式化JSON的两种方式

云狐科技 2022-08-29 23:51:34网络编程

当我们拿到一大段JSON字符串的时候,分析起来简直头皮发麻,相信很大一部分朋友也都会直接去BEJSON等网站去做一个JSON格式化,已方便自己查看数据、分析日志等3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

本篇我们可以使用JSON.NET来实现JSON数据的格式化。3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

bejson格式化校验如何运行(格式化JSON的两种方式)(1)3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

实现功能:3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

格式化JSON字符串3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

开发环境:3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

开发工具: Visual Studio 20133td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

.NET Framework版本:4.53td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

实现代码:3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网
 3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

  1. //第一种方式 
  2. private void btnFormat1_Click(object sender, EventArgs e) 
  3.   { 
  4.       if (textBox1.Text.Length == 0
  5.       { 
  6.           return
  7.       } 
  8.  
  9.       try 
  10.       { 
  11.           JsonSerializer serializer = new JsonSerializer(); 
  12.           TextReader tr = new StringReader(textBox1.Text); 
  13.           JsonTextReader jtr = new JsonTextReader(tr); 
  14.           object obj = serializer.Deserialize(jtr); 
  15.           if (obj != null
  16.           { 
  17.               StringWriter textWriter = new StringWriter(); 
  18.               JsonTextWriter jsonWriter = new JsonTextWriter(textWriter) 
  19.               { 
  20.                   Formatting = Formatting.Indented, 
  21.                   Indentation = 4,//缩进字符数 
  22.                   IndentChar = ' '//缩进字符 
  23.               }; 
  24.               serializer.Serialize(jsonWriter, obj); 
  25.               textBox1.Text = textWriter.ToString(); 
  26.           } 
  27.  
  28.       } 
  29.       catch (Exception ex) 
  30.       { 
  31.           MessageBox.Show("错误的JSON"); 
  32.  
  33.       } 
  34.   } 
  35.  
  36. //第二种方式 
  37.   private void btnFormat2_Click(object sender, EventArgs e) 
  38.   { 
  39.       if (textBox1.Text.Length == 0
  40.       { 
  41.           return
  42.       } 
  43.       try 
  44.       { 
  45.           //JObject.ToString()方法会内部调用格式化,所以直接使用即可 
  46.           string json = textBox1.Text.Trim(); 
  47.           //判读是数组还是对象 
  48.           if (json.StartsWith("[")) 
  49.           { 
  50.               JArray jobj = JArray.Parse(textBox1.Text); 
  51.               textBox1.Text = jobj.ToString(); 
  52.           } 
  53.           else if (json.StartsWith("{")) 
  54.           { 
  55.               JObject jobj = JObject.Parse(textBox1.Text); 
  56.               textBox1.Text = jobj.ToString(); 
  57.           } 
  58.            
  59.       } 
  60.       catch (Exception ex) 
  61.       { 
  62.           MessageBox.Show("错误的JSON"); 
  63.  
  64.       } 
  65.   } 
  66.  
  67. //清空 
  68.   private void btnClear_Click(object sender, EventArgs e) 
  69.   { 
  70.       textBox1.Text = ""
  71.   } 

实现效果:3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

bejson格式化校验如何运行(格式化JSON的两种方式)(2)3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

第一种方式的缩进字符和缩进量可以换成其他的看看效果,但个人觉得肯定没有空格看着舒服3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

由简入繁,拿来即用3td电脑_数码_手机应用问题解决的IT技术网站 - 云狐网