json对象和json字符串之间的转化

时间:2023-03-09 21:13:44
json对象和json字符串之间的转化

json对象和json字符串之间的转化

  1. json字符串----->json对象

    • 使用JSON.parse()函数

        var jsonStr = '{"name":"zhangsan","age":23,"email":"chentging@aliyun.com"}';
      var json = JSON.parse(jsonStr);
      console.log(json);//输出:Object {name: "zhangsan", age: 23, email: "chentging@aliyun.com"}
    • 使用eval()函数

        var jsonStr = '{"name":"zhangsan","age":23,"email":"chentging@aliyun.com"}';
      var json = eval ("(" + jsonStr + ")");
      console.log(json);//输出:Object {name: "zhangsan", age: 23, email: "chentging@aliyun.com"}
    • 使用jQuery插件jQuery.parseJSON()

        var jsonStr = '{"name":"zhangsan","age":23,"email":"chentging@aliyun.com"}';
      var json = jQuery.parseJSON(jsonStr);
      console.log(json);//输出:Object {name: "zhangsan", age: 23, email: "chentging@aliyun.com"}
  2. json对象------>json字符串

    • 使用JSON.stringify()

        var json = {name: "zhangsan", age: 23, email: "chentging@aliyun.com"};
      var jsonStr = JSON.stringify(json);
      console.log(jsonStr);//输出:"{"name":"zhangsan","age":23,"email":"chentging@aliyun.com"}"

注意

  • 可以使用JSON官方提供的工具库来兼容低版本的IE

      官网地址:http://www.json.org/
    下载json2.js
    这样IE就可以使用parse和stringify了
  • eval方法不安全,eval可能会执行参数字符串

  • 如果你还发现了其他方法,别惊讶,方法很多呢,够用就好