jquery中用$.getJSON()方法可按需加载json文件,json文件不能存在注释,否则无法遍历。
遍历json数组用全局函数$.each() ,当然原生的for(xx in xx) 也可以拿来用用!
Json的格式规则非常简单,只用一个页面几百个字就能说清楚,而且Douglas Crockford声称这个格式规则永远不必升级,因为该规定的都规定了。
1) 映射的集合(对象)用大括号("{}")表示:该对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个映射“名称”后跟一个“:”(冒号);每个映射值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array),这些结构可以嵌套; 每个映射(“‘名称/值’ 对”)之间使用“,”(逗号)分隔。
2) 并列数据的集合(数组)用方括号("[]")表示:数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。并列数据的集合由映射的集合(对象)组合而成,并列的数据之间使用“,”(逗号)分隔。
json文件内容:
[{ "key1-1": "value1", "key1-2": "value2" }, { "key2-1": "value3", "key2-2": "value4", "key2-3": { "key2-3-1": "value5", "key2-3-2": "value6" } }, { "key3-1": "value7", "key3-2": { "key3-2-1": "value8", "key3-2-2": "value9" } }]
jq遍历输出:
<script>
var temp="";
$.getJSON('test.json', function(json, textStatus) {/*参数json指test.json文件的内容*/
$.each(json, function(index, val) {/*用jquery $.each()遍历输出json文件内容*/
temp+="<pre>";
$.each(val, function(i, v) {
if(v instanceof Object){
for(i2 in v){
temp+=i2+" : "+v[i2]+" <br/> ";
}
return;
}
temp+=i+" : "+v+" <br/> ";
});
temp+="</pre>";
});
$(temp).appendTo($("body"));
});
</script>
上一篇: 按元素索引匹配控制层的显示、隐藏
下一篇: iframe加载页面,弹出层居中
3条评论( 网友:2 条,站长:1 条 ) 网友评论{有您的评论更精彩....}