JS实现的JSON序列化操作简单示例

本文实例讲述了JS实现的JSON序列化操作。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JOSN对象</title>
  <script>
    var book={
      title:"php 最佳实践",
      authors:['jack'],
      edition:3,
      year:2017
    };
    //JSON.stringify()有三个参数分别是json对象,过滤器(可以是数组or函数),是否在josn字符串中保留缩进(这个参数意义不大可忽略)
    var jsonText=JSON.stringify(book);
    var jsonText1=JSON.stringify(book,["title","year"]);
    var jsonText2=JSON.stringify(book,function (key,value) {
      switch (key){
        case "title":
          return "java 从入门到精通";
        case "year":
          return 2018;
        case "edition":
          return undefined;
        default:
          return value;
      }
    });
    console.log(jsonText);//{"title":"php 最佳实践","authors":["jack"],"edition":3,"year":2017}
    console.log(jsonText1);//{"title":"php 最佳实践","year":2017}
    console.log(jsonText2);//{"title":"java 从入门到精通","authors":["jack"],"year":2018}
    //JSON.parse(arg1,arg2) 可以接受2个参数一个是json字符串,一个是过滤函数
    var jsonObject=JSON.parse(jsonText);
    var jsonObject1=JSON.parse(jsonText,function(key,value){
      if(key==="year"){
        return 2019
      }else if(key==="title"){
        return "javascript 从入门到精通";
      }else{
        return value;
      }
    });
    console.log(jsonObject);//Object {title: "php 最佳实践", authors: Array(1), edition: 3, year: 2017}
    console.log(jsonObject1);//Object {title: "javascript 从入门到精通", authors: Array(1), edition: 3, year: 2019}
  </script>
</head>
<body>
</body>
</html>

运行结果:

PS:这里再为大家推荐几款相关的json在线工具供大家参考:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans

更多关于JavaScript相关内容可查看本站专题:《JavaScript中json操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。