假如我们有这样的一个字符串:
var str = '{"name":"Tom", "age":25, "job":"Developer"}';我们想把它转换为JSON格式,这可以使用JSON.parse()方法来完成:
var obj = JSON.parse(str);console.log(obj.name); // 打印输出 "Tom"console.log(obj.age); // 打印输出 25console.log(obj.job); // 打印输出 "Developer"
JSON.parse()方法可以把一个合法的JSON格式的字符串转换为对应的JSON对象。这个方法接受一个表示JSON的字符串作为参数,然后返回一个Javascript对象。
同样,我们可以把一个Javascript对象转换成JSON格式的字符串,使用JSON.stringify()方法,例如:
var obj = { name:"Tom", age:25, job:"Developer" };console.log(JSON.stringify(obj)); // 打印输出 "{"name":"Tom","age":25,"job":"Developer"}"JSON.stringify()方法可以接收一个Javascript对象,并将其转化为JSON格式的字符串。
需要注意的是,如果字符串无法被JSON.parse()方法正确解析,则会报错。举个例子,如果我们有这样一个字符串:
var str = '{"name":"Tom", "age":}';JSON.parse(str); // 报错, Uncaught SyntaxError: Unexpected token } in JSON at position 18这个字符串拥有正确的JSON格式,但是缺少部分数据,解析时会报错。因此,在尝试解析JSON字符串时,一定要保证字符串格式是正确的,否则会导致解析失败。
再看一个例子:
var str = '{"name":"Tom", "age": 25}';var obj = JSON.parse(str);obj.job = "Developer";console.log(obj); // 打印输出对象格式的数据 {name: "Tom", age: 25, job: "Developer"}console.log(JSON.stringify(obj)); // 打印输出JSON格式的字符串 "{"name":"Tom","age":25,"job":"Developer"}"我们成功将字符串转换成了Javascript对象,并增加了一个属性。我们可以使用这个对象进行各种操作,比如修改、增加属性等,最后使用JSON.stringify()方法将其转化为JSON格式的字符串。
字符串转JSON是Javascript常用的操作之一,不仅正常的JSON数据可以转换成功,手写的JSON格式字符串也可以成功转换,这些操作也是Javascript操作JSON数据的重要组成部分。
上一篇:JavaScript中匹配字符串
下一篇:javascript中四则运算









