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 }
关键代码:
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压缩