1:json数据songs.json如下:
{ "id" : 1, "option" : [{ "optionKey" : "1", "optionValue" : "Canon in D" }, { "optionKey" : "2", "optionValue" : "Wind Song" }, { "optionKey" : "3", "optionValue" : "Wings" }] }
解析页面如下:
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#button').click(function() {
$.getJSON('songs.json', function(data) {
var song = "<ul>";
//i表示在data中的索引位置,n表示包含的信息的对象
$.each(data, function(index, item) {
alert(item);
//song += "<li>" +item.id + "</li>";
});
song += "</ul>";
$('#result').append(song);
});
return false;
});
});
</script>
</head>
<body>
<div>获取评论</div>
<input type="button" id="button" value="确定" />
<div id="result"></div>
</body>
其中alert出来的分别是 1 以及4个[object Object],[object Object],[object Object],这样和效果不符合,所以得重新定义解析方法。
首先,可以看出是一个jsonObject。其中有两个属性id和option。其中option又是一个JsonArray。
所以可以这样:
1:解析JsonObject
2:解析JsonArray
$(document).ready(function() { $('#button').click(function() { $.getJSON('songs2.json', function(data) { var song = "<ul>"; //i表示在data中的索引位置,n表示包含的信息的对象 if (data!= null){ $('#result').append("id: "+data.id); $('#result').append("<br>"); $.each(data.option, function(index, item) { $('#result').append(" optionKey: "+item.optionKey); }); } song += "</ul>"; //$('#result2').append(song); }); return false; }); });
效果:
id: 1
optionKey: 1 optionKey: 2 optionKey: 3