Json是在Ajax,js中经常使用的一种方式,如下提供五种基础的格式
1.一个基础的JSON对象 俗称的键值对 JSONObject 一般是一个主键对应一个值
//一个基础的JSON对象 俗称的键值对 JSONObject 一般是一个主键对应一个值
var data= {"id":"Jd1" , "name":"节点1"};
//在使用时可以直接 使用主键值获取信息
var id=data.id;//获取值 Jd1
2.一个JSON数组 基本上是第一种的一个组合——JSONArray
//一个JSON数组 基本上是第一种的一个组合——JSONArray
var data= [{"id":"Jd1" , "name":"节点1"},{"id":"Jd2" , "name":"节点2"}]
//此时想要获取某个值就需要进行循环处理
for(var i=0;i<data.length;i++){
var Id=data[i].id;
}
3.循环嵌套型的JSON 父节点子节点的处理 一般是树形展示的数据样式
//循环嵌套型的JSON 父节点子节点的处理 一般是树形展示的数据样式
var data= {"id":"Jd1" , "name":"节点1",children:[{"id":"Jd3" , "name":"节点3"},{"id":"Jd2" , "name":"节点2"}]};
//此时想要获取某个节点的值就需要通过循环嵌套循环的方式
var id=data.id;//获取值 Jd1
for(var i=0;i<data.children.length;i++){
var Id=data.children[i].id;
}
4.相对复杂的JSON 数组嵌套,理论上可无限嵌套
//相对复杂的JSON 数组嵌套,理论上可无限嵌套
var data= [{"id":"Jd1" , "name":"节点1",children:[{"id":"Jd3" , "name":"节点3"},{"id":"Jd4" , "name":"节点4"}]},
{"id":"Jd2" , "name":"节点2",children:[{"id":"Jd5" , "name":"节点5"},{"id":"Jd6" , "name":"节点6"}]}]
//此时想要获取某个节点的值就需要借助一个方法 通过循环来获取某个节点的值
function childrenNodes(d1) {
for (var i = 0; i < d1.length; i++) {
var id = d1[i].id;
if (d1[i].children != undefined && d1[i].children.length > 0) {
childrenNodes(d1[i].children);
}
}
}
for (var i = 0; i < data.length; i++) {
var id = data[i].id;
if (data[i].children != undefined && data[i].children.length > 0) {
childrenNodes(data[i].children);
}
}
5.还有一个特殊的List形式的JOSN
//还有一个特殊的List形式的JOSN
var data = ["jd1", "jd2", "jd3", "jd4"];
//若是要判断某个值在不在这个数组里面需要使用indexOf
if (data.indexOf("jd1") > -1) {
alert("存在数组内");
}
else {
alert("不存在数组内");
}
以上为个人观点,若有错误遗漏请指正