json格式是什么样的
json对象的格式?
json对象的格式?
一个基础的JSON对象 俗称的键值对 JSONObject 一般是一个主键对应一个值
var data= {#34id#34:#34Jd1#34 , #34name#34:#34节点1#34}
在使用时可以直接 使用主键值获取信息
var id=data.id//获取值 Jd1

2/5
一个JSON数组 基本上是第一种的一个组合——JSONArray
var data= [{#34id#34:#34Jd1#34 , #34name#34:#34节点1#34},{#34id#34:#34Jd2#34 , #34name#34:#34节点2#34}]
此时想要获取某个值就需要进行循环处理
for(var i=0iltdata.lengthi ){
var Id=data[i].id
}

3/5
循环嵌套型的JSON 父节点子节点的处理 一般是树形展示的数据样式
var data= {#34id#34:#34Jd1#34 , #34name#34:#34节点1#34,children:[{#34id#34:#34Jd3#34 , #34name#34:#34节点3#34},{#34id#34:#34Jd2#34 , #34name#34:#34节点2#34}]}
此时想要获取某个节点的值就需要通过循环嵌套循环的方式
var id=data.id//获取值 Jd1
for(var i=0iltdata.children.lengthi ){
var Id=data.children[i].id
}
4/5
相对复杂的JSON 数组嵌套,理论上可无限嵌套
var data= [{#34id#34:#34Jd1#34 , #34name#34:#34节点1#34,children:[{#34id#34:#34Jd3#34 , #34name#34:#34节点3#34},{#34id#34:#34Jd4#34 , #34name#34:#34节点4#34}]},
{#34id#34:#34Jd2#34 , #34name#34:#34节点2#34,children:[{#34id#34:#34Jd5#34 , #34name#34:#34节点5#34},{#34id#34:#34Jd6#34 , #34name#34:#34节点6#34}]}]
此时想要获取某个节点的值就需要借助一个方法 通过循环来获取某个节点的值
function childrenNodes(d1) {
for (var i = 0 i lt d1.length i ) {
var id = d1[i].id
if (d1[i].children != undefined ampamp d1[i].children.length gt 0) {
childrenNodes(d1[i].children)
}
}
}
for (var i = 0 i lt data.length i ) {
var id = data[i].id
if (data[i].children != undefined ampamp data[i].children.length gt 0) {
childrenNodes(data[i].children)
}
}
5/5
还有一个特殊的List形式的JOSN
var data = [#34jd1#34, #34jd2#34, #34jd3#34, #34jd4#34]
若是要判断某个值在不在这个数组里面需要使用indexOf
if (data.indexOf(#34jd1#34) gt -1) {
alert(#34存在数组内#34)
}
else {
alert(#34不存在数组内#34)
}

注意事项
JSON是一种灵活的格式,但在前后台ajax交互的时候必须处理特殊字符