求格式化JSON的正则表达式
例如{a:{a1:1,a2:2},b:{b1:1,b2:2},c:{c1:1,c2:2}}转成下面这个样子:
{"a":{"a1":"1","a2":"2"},"b":{"b1":"1","b2":"2"},"c":{"c1":"1","c2":"2"}};
如果原先键值用单引号的,把它换为双引号,去空格去换行
如果有ActionScript版本的更好,我用的是ActionScript
------解决方案--------------------能不能转个思路,先转为对象再来字符
------解决方案--------------------
/['\s]?([^:{,'\s"}]+)['\s]?(?=[:,$}])/g
能不能一次性把需求说清楚完整呢
------解决方案--------------------你在导入flash之前,后台代码在输出字符串前不能改为flash需求的相应的格式?
让flash代码搞这个不是个好主意。
------解决方案--------------------说实话,这一行正则是很变态的。
JScript code
var str = "{ ' a ':{ ' a1 ' : '1', 'a2':'2'}, b :{b1:1,b2:2},c:{c1:1,c2:2 }}";
alert(str.replace(/(\s|'|\s'|'\s)*([^\{\}\s\:\,']+)(\s|'|\s'|'\s)*(?=[\}\:\,])/g,"\"$2\""))