• js json字符串与json对象互相转换(最全)


    1.json字符串转json对象

      使用场景:通常在取json字符串里具体的值时,会用到。

    var jsonString = '{"name":"Marydon","website":"www.cnblogs.com"}';
    

      方式一:eval()

      使用eval()进行转换时需要在json字符串外包裹一对小括号,不加小括号无效。 

    var jsonObject= eval('(' + jsonString +')');
    

      方式二:JSON.parse()  

    var jsonObject= JSON.parse(jsonString);
    

      方式三:$.parseJSON()

      页面需要引入jQuery

    var jsonObject = $.parseJSON(jsonString);
    

      方式四:使用json2.js

      json2.js 提供了json的序列化和反序列化方法,完美支持各个浏览器。

      使用时我们首先要将json2.js引用进来,源码地址:https://github.com/douglascrockford/JSON-js。

    var jsonObject= JSON.parse(jsonString);

    2.json对象转json字符串

       使用场景:通常在使用ajax想后台传输数据时使用,因为如果直接传递json对象,java后台接收该请求的方法需要将请求参数格式指定为json对象,甚至将其转换成json字符串,对于后台开发人员很不方便。

    var jsonObject = {"name":"Marydon","website":"www.cnblogs.com"};  

      方式一:JSON.stringify()

    var jsonString = JSON.stringify(jsonObject);
    

      方式二:使用json2.js

      使用方式和上面一样。

    var jsonString = JSON.stringify(jsonObject);
    

      方式三:$.stringify()

      首先,jQuery并没有该方法,但是我们可以对其进行扩展。

    jQuery.extend({
        stringify  : function stringify(obj) {
            var t = typeof (obj);
            if (t != "object" || obj === null) {
                // simple data type
                if (t == "string") obj = '"' + obj + '"';
                return String(obj);
            } else {
                // recurse array or object
                var n, v, json = [], arr = (obj && obj.constructor == Array);
                for (n in obj) {
                    v = obj[n];
                    t = typeof(v);
                    if (obj.hasOwnProperty(n)) {
                        if (t == "string") v = '"' + v + '"';
                        else if (t == "object" && v !== null) v = jQuery.stringify(v);
                        json.push((arr ? "" : '"' + n + '":') + String(v));
                    }
                }
                return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
            }
        }
    });
    

      第一步:在所需要使用的页面引入你的jQuery文件;

      第二步:将上面js代码添加到在你要调用该方法代码之前的位置(最好是头部,方便代码维护)。

    var jsonString = $.stringify(jsonObject);
    

    写在最后

      哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

     相关推荐:

  • 相关阅读:
    Ubuntu中安装PyCharm2019并破解
    Spark RDD----pyspark第四次作业
    关于“xxx”object is not callable的异常
    sudo: 在加载插件“sudoers_policy”时在 /etc/sudo.conf 第 0 行出错 sudo: /usr/lib/sudo/sudoers.so 必须只对其所有者可写 sudo: 致命错误,无法加载插件
    Hash函数
    数字签名---RSA算法
    中级实训Android学习记录——Activity、Fragment
    中级实训Android学习记录——自定义Dialog、PopupWindow
    中级实训Android学习记录——Toast、AlertDialog、ProgressBar
    unity 3d 七、模型与动画
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/11890879.html
Copyright © 2020-2023  润新知