使用JavaScript/jQuery显示未标记字段中的JSON数据
所以,我对从API获取数据和格式化json非常陌生,我已经取得了一些很大的进展,但遇到了一个障碍使用JavaScript/jQuery显示未标记字段中的JSON数据,javascript,jquery,json,Javascript,Jquery,Json,所以,我对从API获取数据和格式化json非常陌生,我已经取得了一些很大的进展,但遇到了一个障碍 我能够从API获取数据 我可以等待通过回调处理数据 我可以选择数据的嵌套部分 我能够显示数据 我陷入困境的地方:也许我向谷歌问了一个错误的问题,但我似乎找不到任何允许我只返回第五项“NY”的东西 当我显示short\u name中的项目时,我得到了所有信息: 11776 杰斐逊港站 布鲁克黑文 萨福克县 纽约 美国 没有章节名称,我怎么能只显示第5项? -纽约 var_state={ “结
- 我能够从API获取数据
- 我可以等待通过回调处理数据
- 我可以选择数据的嵌套部分
- 我能够显示数据
short\u name
中的项目时,我得到了所有信息:
- 11776
- 杰斐逊港站
- 布鲁克黑文
- 萨福克县
- 纽约
- 美国
var_state={
“结果”:[
{
“地址/组件”:[
{
“long_name”:“11776”,
“短名称”:“11776”,
“类型”:[
“邮政编码”
]
},
{
“long_名称”:“杰斐逊港站”,
“短名称”:“杰斐逊港站”,
“类型”:[
“地点”,
“政治”
]
},
{
“long_name”:“Brookhaven”,
“短名称”:“布鲁克黑文”,
“类型”:[
“行政区三级”,
“政治”
]
},
{
“龙_名称”:“萨福克县”,
“简称”:“萨福克县”,
“类型”:[
“行政区二级”,
“政治”
]
},
{
“long_name”:“纽约”,
“短名称”:“NY”,
“类型”:[
“行政区一级”,
“政治”
]
},
{
“long_name”:“美国”,
“简称”:“美国”,
“类型”:[
“国家”,
“政治”
]
}
],
“地址”:“美国纽约州杰斐逊港站,NY 11776”,
“几何学”:{
“界限”:{
“东北”:{
“lat”:40.937698,
“液化天然气”:-73.008309
},
“西南”:{
“lat”:40.888503,
“液化天然气”:-73.0763651
}
},
“地点”:{
“lat”:40.908601399999,
“液化天然气”:-73.0464309
},
“位置类型”:“近似值”,
“视口”:{
“东北”:{
“lat”:40.937698,
“液化天然气”:-73.008309
},
“西南”:{
“lat”:40.888503,
“液化天然气”:-73.0763651
}
}
},
“地点id”:“ChIJJ9atd-BA6IkRfXg\U wE1Klkg”,
“邮政编码\地区”:[
“杰夫港”,
“杰斐逊港站”
],
“类型”:[
“邮政编码”
]
}
],
“状态”:“确定”
};
var state_output=$(“.current state”);
$(the_state.results).each(函数(k,results){
$(results.address\u components)。每个(函数(索引,address\u component){
state_output.append(“”+address_component.short_name+” ”);
})
})
$(状态.results)。每个(函数(k,results){
$(results.address\u components)。每个(函数(索引,address\u component){
如果(索引==4){
state_output.append(“”+address_component.short_name+” ”);
}
})
})
只需检查索引,看看它是否是数组中的第5个元素。:)希望能有帮助。代码未测试。<代码>$(状态.results)。每个(函数(k,results){
$(results.address\u components)。每个(函数(索引,address\u component){
如果(索引==4){
state_output.append(“”+address_component.short_name+” ”);
}
})
})
只需检查索引,看看它是否是数组中的第5个元素。:)希望能有帮助。代码未经测试。我怀疑您是否应该依赖地址组件的特定顺序,您应该查找管理区域级别1
类型
此外,还应使用$.each()
在数组上循环<代码>$(变量)。each()
用于在jQuery集合上循环
var\u状态={
“结果”:[{
“地址组件”:[{
“long_name”:“11776”,
“短名称”:“11776”,
“类型”:[
“邮政编码”
]
},
{
“long_名称”:“杰斐逊港站”,
“短名称”:“杰斐逊港站”,
“类型”:[
“地点”,
“政治”
]
},
{
“long_name”:“Brookhaven”,
“短名称”:“布鲁克黑文”,
“类型”:[
“行政区三级”,
“政治”
]
},
{
“龙_名称”:“萨福克县”,
“简称”:“萨福克县”,
“类型”:[
“行政区二级”,
“政治”
]
},
{
“long_name”:“纽约”,
“短名称”:“NY”,
“类型”:[
“行政区一级”,
“政治”
]
},
{
“long_name”:“美国”,
“简称”:“美国”,
“类型”:[
“国家”,
“政治”
]
}
],
“地址”:“美国纽约州杰斐逊港站,NY 11776”,
“几何学”:{
“界限”:{
“东北”:{
“lat”:40.937698,
“液化天然气”:-73.008309
},
“西南”:{
“lat”:40.888503,
“液化天然气”
$(the_state.results).each(function(k, results){
$(results.address_components).each(function(index, address_component) {
if(index === 4) {
state_output.append("<li>" + address_component.short_name + "</li>");
}
})
})
var the_state = {
"long_name":"New York",
"short_name":"NY",
};
var parsedJSON = JSON.parse(the_state);
document.write(parsedJSON .long_name + ' ' + parsedJSON .short_name);