json字符串、json对象、数组 三者之间的转换

json字符串转化成json对象

// jquery的方法
var jsonObj = $.parseJSON(jsonStr)
//js 的方法
var jsonObj =  JSON.parse(jsonStr)

json对象转化成json字符串

//js方法
var jsonStr1 = JSON.stringify(jsonObj)

示例:

<script type="text/javascript">
        var jsonStr = '[{"id":"01","open":false,"pId":"0","name":"A部门"},{"id":"01","open":false,"pId":"0","name":"A部门"},{"id":"011","open":false,"pId":"01","name":"A部门"},{"id":"03","open":false,"pId":"0","name":"A部门"},{"id":"04","open":false,"pId":"0","name":"A部门"}, {"id":"05","open":false,"pId":"0","name":"A部门"}, {"id":"06","open":false,"pId":"0","name":"A部门"}]';
      //  var jsonObj = $.parseJSON(jsonStr);
      var jsonObj =  JSON.parse(jsonStr)
        console.log(jsonObj)
     var jsonStr1 = JSON.stringify(jsonObj)
     console.log(jsonStr1+"jsonStr1")
    </script>

json对象转化成数组

复制代码
<script type="text/javascript">
        var jsonStr = '[{"id":"01","open":false,"pId":"0","name":"A部门"},{"id":"01","open":false,"pId":"0","name":"A部门"},{"id":"011","open":false,"pId":"01","name":"A部门"},{"id":"03","open":false,"pId":"0","name":"A部门"},{"id":"04","open":false,"pId":"0","name":"A部门"}, {"id":"05","open":false,"pId":"0","name":"A部门"}, {"id":"06","open":false,"pId":"0","name":"A部门"}]';
      //  var jsonObj = $.parseJSON(jsonStr);
      var jsonObj =  JSON.parse(jsonStr)
        console.log(jsonObj)
     var jsonStr1 = JSON.stringify(jsonObj)
     console.log(jsonStr1+"jsonStr1")
     var jsonArr = [];
     for(var i =0 ;i < jsonObj.length;i++){
            jsonArr[i] = jsonObj[i];
     }
     console.log(typeof(jsonArr))
    </script>
复制代码

 一个应用示例:

复制代码
function btn_relateAdd() {
        if (!$('#relate').Validform()) {
            return false;
        }
        var relateData = [];
        var relateValue = $("#relateValue").val();
        if (relateValue != "") {
            var jsonObj = JSON.parse(relateValue);
            for (var i = 0; i < jsonObj.length; i++) {
                relateData.push(jsonObj[i]);
            }
        } 

        var getData = $("#relate").GetWebControls();
        var postData = {};
        var isDuplication = false;
        postData["CompanyId"] = getData["RelateCompany"];
        postData["CompanyName"] = $("#RelateCompany").attr('data-text');
        postData["FlowName"] = $("#RelateFlow").attr('data-text');
        postData["FlowId"] = getData["RelateFlow"];
        postData["Amount"] = getData["Amount"];
        postData["Description"] = getData["Description"];
        //判断是否提交了重复数据
        for (var i = 0; i < relateData.length; i++) {
            if (postData["CompanyId"] == relateData[i]["CompanyId"] && postData["FlowId"] == relateData[i]["FlowId"]) {
                isDuplication = true;
                break;
            }
        }
        if (!isDuplication)
            relateData.push(postData);
        else
            dialogMsg("请不要重复添加", -1);
        $("#relateValue").val(JSON.stringify(relateData));
    }
复制代码

 

<input type="hidden" id="relateValue" />

 

posted @   James·wang  阅读(342)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2013-06-08 MVC Cookie的使用
2013-06-08 使用jquery提交form表单并自定义action
2013-06-08 此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭“的解决(转)
点击右上角即可分享
微信分享提示