如何将JSON字符串格式化输出

JavaScript013

如何将JSON字符串格式化输出,第1张

一般在项目中,我们可能会经常需要对返回结果进行格式化处理,比如先把返回结果对象转换为JSON格式的字符串,然后再将其输出。这个JSON格式化处理的过程,我们在前端或者后端都可以实现。

在JavaScript中,我们如果需要将js对象转换为json字符串,可以通过 JSON.stringify() 来实现。

相反,如果需要将json字符串转换为js对象,可以通过 JSON.parse() 来实现。

在Python3中,我们如果需要将Python对象转换为json字符串,可以通过 json.dumps() 来实现。

相反,如果需要将json字符串转换为Python对象,可以通过 json.loads() 来实现。

在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:

1.一种为使用eval()函数。

2. 使用Function对象来进行返回解析。

用eval函数来解析,并且使用jquery的each方法来遍历

用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,这里考虑的都是服务器 返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里不再做说明。 

这里首先给出JSON字符串集,字符串集如下:

代码如下:

var data=" 

root: 

{name:'1',value:'0'}, 

{name:'6101',value:'北京市'}, 

{name:'6102',value:'天津市'}, 

{name:'6103',value:'上海市'}, 

{name:'6104',value:'重庆市'}, 

{name:'6105',value:'渭南市'}, 

{name:'6106',value:'延安市'}, 

{name:'6107',value:'汉中市'}, 

{name:'6108',value:'榆林市'}, 

{name:'6109',value:'安康市'}, 

{name:'6110',value:'商洛市'} 

]

}" 

var dataObj=eval("("+data+")")//转换为json对象

alert(dataObj.root.length+"个对象")

for(var i=0i<dataObj.root.lengthi++){

    var obj=dataObj.root[i]

    alert(obj.Name+"--"+obj.value)

}

由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语 句(statement)来执行。

第二种解析方式就是使用Function对象来完成,它的典型应用就是在JQUERY中的AJAX方法下的success等对于返回数据data的解析

var json='{"name":"CJ","age":18}'

data =(new Function("","return "+json))()

此时的data就是一个会解析成一个 json对象了.