function jsonToString (obj){
var THIS = this;
switch(typeof(obj)){
case 'string':
return '"' + obj.replace(/(["\\])/g, '\\$1') + '"';
case 'array':
return '[' + obj.map(THIS.jsonToString).join(',') + ']';
case 'object':
if(obj instanceof Array){
var strArr = [];
var len = obj.length;
for(var i=0; i<len; i++){
strArr.push(THIS.jsonToString(obj[i]));
}
return '[' + strArr.join(',') + ']';
}else if(obj==null){
return 'null';
}else{
var string = [];
for (var property in obj) string.push(THIS.jsonToString(property) + ':' + THIS.jsonToString(obj[property]));
return '{' + string.join(',') + '}';
}
case 'number':
return obj;
case false:
return obj;
}
}
function stringToJSON(obj){
return eval('(' + obj + ')');
}
当用stringToJSON装换这种json格式时,也就是后台用net.sf.json.JSONArray对象时,需要把JSONArray.toString()后
的字符两边的[ ,]都去掉
String convertJson=jarrays.toString().replace("[", "");
convertJson=convertJson.toString().replace("]", "");
然后放进去是不要两边的引号,像下边这样;
result="{\"msg\":"+true+",\"desc\":"+convertJson+"}";
JSONArray.toString()后的格式是这样的
[
{
"UUID":"436817","MSGID":""
}
],所以要按照上面的改法,然后用stringToJSON是才有用,不如装换后要获取UUID的值时,就可以这样获取了result.desc.UUID
本文详细阐述了如何使用JavaScript中的functionjsonToString和stringToJSON函数进行JSON格式的字符串转换,包括处理字符串、数组、对象、数值等不同类型的转换方法,并展示了如何在特定场景下优化转换过程。
1256

被折叠的 条评论
为什么被折叠?



