JSON是在js,ajax中常用的一种格式,可以快速处理数据,灵活实用,那JSON都有哪些基础格式呢,下面就进行一个简单的介绍
工具/原料
-
Ajax资料
-
JSON基本格式资料
-
JS相关资料
五种基础格式
-
一个基础的JSON对象 俗称的键值对 JSONObject 一般是一个主键对应一个值
var data= {"id":"Jd1" , "name":"节点1"};
在使用时可以直接 使用主键值获取信息
var id=data.id;//获取值 Jd1
-
一个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;
}
-
循环嵌套型的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;
}
-
相对复杂的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);
}
}
-
还有一个特殊的List形式的JOSN
var data = ["jd1", "jd2", "jd3", "jd4"];
若是要判断某个值在不在这个数组里面需要使用indexOf
if (data.indexOf("jd1") > -1) {
alert("存在数组内");
}
else {
alert("不存在数组内");
}
END
注意事项
-
JSON是一种灵活的格式,但在前后台ajax交互的时候必须处理特殊字符
-
Json格式灵活,可以在以上五种简单复杂格式上进一步扩充
-
以上为个人经验,若有错误请指正