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" />