字符串转Json,Json转字符串

字符串转Json,Json转字符串express

1 JSON.parse()用于从一个字符串中解析出json对象,样例以下:
// 单引号写在{}外,每一个属性(非数字)都必须双引号,不然会抛出异常
var student = '{"id":"12345678","name":"xxx", "age":18}'
JSON.parse(student)
{id: "12345678", name: "xxx", age: 18}
age:18
id:"12345678"

name:"xxx"json

2 JSON.parse(str)这个不多用,通常采用eval("("+data+")")代替,样例以下:
var student = '{"id":"12345678","name":"xxx", "age":18}'
eval("("+student+")")
{id: "12345678", name: "xxx", age: 18}
age:18
id:"12345678"
name:"xxx"
因为json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,因此必须强制性的将它转换成一种表达式。加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是做为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。因此下面两个执行结果是不一样的:
eval("{}") // return undefined

eval("({})") // return {}函数

3 使用Function对象来完成,典型应用在JQUERY的AJAX方法下的success等对于返回数据data的解析,样例以下:
var student = '{"id":"12345678","name":"xxx", "age":18}'
data =(new Function("","return "+student))();
{id: "12345678", name: "xxx", age: 18}
age:18
id:"12345678"

name:"xxx"spa

4 JSON.stringify()用于从一个对象解析出字符串,样例以下: var student = {id:"12345678",name:"xxx",age:18} JSON.stringify(student) "{"id":"12345678","name":"xxx","age":18}"