VS 宏 之 转换Json数据格式。
IE9+,Chrome ,会按Json的Key排序。 这个做法,对需要顺序的数据来说,是个灾难。
自定义一个格式,进行数据传递,格式如下:
1. 字符串
2. 没有树级结构。
3. 没有 { } 标志。
4. 每一个对象用 “,” 分隔。
5. 每一个键值对用 “:” 分隔。
如原Json : { "Id": 1 , "Name": “张三” }
转换后: "Id:1,Name:张三“
Sub Json2MyStringJson() Dim strJson As String Dim ja As String() 'json array Dim jsa As String() ' json sub array Dim retVal As New List(Of String)() Dim pja As String() ' p proced json array Dim pjsa As String() ' p proced json sub array strJson = DTE.ActiveDocument.Selection.Text strJson = strJson.Trim() If (strJson.StartsWith("{") And strJson.EndsWith("}")) Then strJson = strJson.Substring(1, strJson.Length - 2).Trim() ja = strJson.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) For Each a In ja jsa = a.Trim().Split(":".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) retVal.Add(jsa(0).Trim().Trim(""""c) + ":" + jsa(1).Trim().Trim(""""c)) Next DTE.ActiveDocument.Selection.Text = """" + String.Join(",", retVal.ToArray()) + """" Else : MsgBox("Json转换器要求格式 { 内容 } ") End If End Sub
作者:NewSea 出处:http://newsea.cnblogs.com/
QQ,MSN:iamnewsea@hotmail.com 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |