我正在尝试检索JSON数组中存在的值。但是,我的代码无法执行它.Below发布的是该文件的样子。
{
"meta" : {
"view" : {
"description" : "This data set shows the location of Baltimore City's Services.",
"columns" : [{
"cachedContents" : {
"top" : [{
"item" : "American Rescue Workers"
}
]
}
}
]
}
}
我的抱歉,如果我的JSON文件有一些语法问题。我正在尝试访问cachedContents中的item元素。发布的是代码。
$(document).ready(function () {
$.get("https://data.baltimorecity.gov/api/views/hyq3-8sxr/rows.json", function (data) {
$.each(data.meta.view, function (i, obj) {
if (i == "name")
$("#result").append("<p align='center'>" + obj + "</p>");
if (i == "description")
$("#result").append("<p>" + obj + "</p>");
if (i == "columns")
$.each(obj.i.cachedContents, function (i1, obj) {
$("#result").append("<p>" + "hi" + "</p>");
});
});
});
});
任何建议都会非常有用。
答案 0 :(得分:3)
您的JSON包含很多字段,并且使用if
进行迭代可能会遇到一些性能问题。
您可以直接访问每个成员:
$(document).ready(function () {
$.get("https://data.baltimorecity.gov/api/views/hyq3-8sxr/rows.json", function (data) {
$("#result").append("<p align='center'>" + data.meta.view.name + "</p>");
$("#result").append("<p>" + data.meta.view.description + "</p>");
data.meta.view.columns.forEach(function(c) {
// here, 'c' is a column
$("#result").append("<p>Column " + c.name + "</p>");
});
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="result"></div>
&#13;
答案 1 :(得分:1)
应该是
$.each(obj[0].cachedContents, function(i1, obj) {
$("#result").append("<p>" + "hi" + "</p>");
});
对象[0]不是&#34;我&#34;。