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" />
微信号:jamesworkshop 学习QQ群:364976091
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.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 不支持用户实例登录标志。该连接将关闭“的解决(转)