{ scheme: [ { query: [ [{ id: 'stdNumber', title: "标准号", compareType: 2 }], [{ id: 'CnName', title: '标准名称' }], [{ id: 'UserID', title: 'userID', type: 1, dataSource:{id: '1'}}] ] } ], colModel: [ { name: 'stdNumber', title: '标准号', width: 60 }, { name: 'CnName', title: '标准名称', width: 300 } ] }
需要的结果是
{ "scheme": [ { "query": [ [{"id": "stdNumber","title": "标准号","compareType": 2 }], [{"id": "CnName","title": "标准名称" }], [{"id": "UserID","title": "userID","type": 1,"dataSource":{"id": "1"}}] ] } ], "colModel": [ {"name": "stdNumber","title": "标准号","width": 60 }, {"name": "CnName","title": "标准名称","width": 300 } ] }
给属性加双引号,把值的单引号换成双引号。
1 public static string FormatJson(string json) 2 { 3 //单引号替换成双引号 4 json = json.Replace("'", "\""); 5 6 /* 正则表达式说明 7 ([{]|[,]) 包含 { 或 , 字符 $1 8 ([\s]*) 包含0或多个空字符 $2 9 ([\w]+?) 包含a-zA-Z0-9_等字符的属性,配置多次 $3 10 ([\s]*) $4 11 ([:]) 后面包含 : 字符 $5 12 */ 13 Regex regex = new Regex(@"([{]|[,])([\s]*)([\w]+?)([\s]*)([:])", RegexOptions.Multiline); 14 15 //替换符合该正则表达式的内容 保留1、3、5项,并在中间加上双引号 16 return regex.Replace(json, "$1\"$3\"$5"); 17 }