Newtonsoft.Json实现Json值的压缩(算法思路先转成object,再转回字符串)

为什么要Json压缩:
1、因为格式化后的Json,便于查看,但是换行太多,不方便摘取
2、压缩的Json,就一行,比较容易摘取

 

原文链接:

http://www.lookdaima.com/page/docItemDetail.html?id=b192bc77-e04b-4879-8cfa-4d0b358840af

 

样例代码:

 1     /// <summary>
 2     /// 
 3     /// </summary>
 4     protected void JsonZip()
 5     {
 6         string str = @"
 7 [
 8     {
 9         ""Age"":1,
10         ""Name"":""Name.0"",
11         ""Sex"":""男"",
12         ""IsMarry"":false
13     },
14     {
15         ""Age"":2,
16         ""Name"":""Name.1"",
17         ""Sex"":""女"",
18         ""IsMarry"":true
19     },
20     {
21         ""Age"":3,
22         ""Name"":""Name.2"",
23         ""Sex"":""男"",
24         ""IsMarry"":false
25     },
26     {
27         ""Age"":4,
28         ""Name"":""Name.3"",
29         ""Sex"":""女"",
30         ""IsMarry"":true
31     }
32 ]
33 ";
34 
35         object obj = Newtonsoft.Json.JsonConvert.DeserializeObject(str);
36 
37         if (obj == null)
38             return;
39 
40         txt_Result.Text = Newtonsoft.Json.JsonConvert.SerializeObject(obj);
41     }
View Code

 

关键代码:

 1 #region Json压缩
 2 
 3 /// <summary>
 4 /// Json压缩
 5 /// </summary>
 6 /// <param name="str">Json格式的字符串</param>
 7 public string JsonStringToShort(string str)
 8 {
 9     if (str == null || str.Length == 0)
10         return "";
11     try
12     {
13         object obj = Newtonsoft.Json.JsonConvert.DeserializeObject(str);
14 
15         if (obj == null)
16             return str;
17 
18         string theResult = Newtonsoft.Json.JsonConvert.SerializeObject(obj);
19 
20         return theResult;
21     }
22     catch
23     {
24         return str;
25     }
26 }
27 
28 #endregion Json压缩
View Code

 

posted @ 2021-02-05 09:59  看代码`lookdaima.com  阅读(375)  评论(0编辑  收藏  举报