JSON对象有两个方法prase()和stringify(),用于字符串与JSON对象之间的互相转换。
(1)JSON.parse(string[, translator])
使用JSON.parse()方法可以将字符串转换为JSON对象。
参数:string参数是要转换为对象的JSON字符串。
var str = '{"name":"叶德华","age":23}'; str = JSON.parse(str);(2)JSON.stringify(object[, replacer[, space]])
使用JSON.stringify()方法可以将JSON对象转为字符串。
参数:
object参数:是要转为字符串的JSON对象。
replacer参数:可选,可以是改变字符串转换过程的函数,也可以是一组String和Number对象,这些对象用作一个白名单,用于选择要转换为字符串的对象的属性。如果这个值是空或没有提供,则在所得的JSON字符串中包含对象的所有属性。
space参数:可选,是一个String或Number对象,用于把空白插入输出的JSON字符串,以提高可读性。如果这是一个数值,则表示用作空白的空格字符数;如果该数值大于10,就取其值为10;小于1的值表示不应使用空格。如果这是一个字符串(如果该字符串多于10个字符,就取前10个字符),就把该字符串用作空白。如果没有提供这个参数(或者为空),就不使用空白。
示例代码:
var str = '{"name":"叶德华","age":23}'; str = JSON.parse(str); console.info(JSON.stringify(str)); console.info(JSON.stringify(str,null,5)); console.info(JSON.stringify(str,["name"],5)); console.info(JSON.stringify(str,null,"###"));下图1就是上面代码的执行效果:
图1:运行结果
注意,应尽量避免使用eval()方法来将字符串解析为JSON对象,有关eval()的用法参阅《javascript使用eval解析json的注意点》。
觉得文章有用?立即: 和朋友一起 共学习 共进步!
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习