读书人

正则格式化json字符串键值对的有关问题

发布时间: 2012-03-29 12:53:12 作者: rapoo

正则格式化json字符串键值对的问题
这几天好多正则,感觉一下子火了。。。。我也将我自己的一个问题贴出来请教大家,望指点

c#解析json 其键值对要严格按照 "名称":"值" 这样的格式

现有如下json字符串
{type:"2",PvNum:"",Price:"1989",UploadSec:"",UploadTime:"",RemainNum:"123",SoldNum:"77",MaxBuyNum:"1", StockAttr:"颜色:留言颜色和快递", StockString:"0#颜色:留言颜色和快递~,19.890000,123,;"}

上面的键值对是这样的 名称:"值"
我想格式化成这样 "名称":"值"



Regex.Replace(jsonString, @"[\w]+(?=:)", "\"$0\"");//连续字母或数字以:结尾且不包含:
我发现这样对上面的json值里面也会截断

于是我改成这样,
Regex.Replace(jsonString, "\\b[\\w]+(?=:\")", "\"$0\"");//连续字母或数字以:"结尾且不包含:"
可以达到我要的效果
因为我是以:"来判断结束与否,所以我感觉自己写的不规范,不通用,望大家能够指点

[解决办法]
替换结果:

"type":"2","PvNum":"","Price":"1989","UploadSec":"","UploadTime":"","RemainNum":"123","SoldNum":"77","MaxBuyNum":"1"," StockAttr":"颜色:留言颜色和快递"," StockString":"0#颜色:留言颜色和快递~,19.890000,123,;"
[解决办法]

探讨
name:"" 这样的情况会匹配不了

读书人网 >C#

热点推荐