使用Jquery和Javascript调用JSON对象属性值时出现问题
我试图调用一个对象属性值并将其附加到div“file path info”中。将JSON数据附加到“文件大小信息”的函数可以工作。我的第二个陈述有什么错 我的JSON数据:使用Jquery和Javascript调用JSON对象属性值时出现问题,javascript,jquery,json,Javascript,Jquery,Json,我试图调用一个对象属性值并将其附加到div“file path info”中。将JSON数据附加到“文件大小信息”的函数可以工作。我的第二个陈述有什么错 我的JSON数据: {"maxFileSize" : "10 MB", "fileList" : [{"fileName" : "1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat", "href" : "../Images/1_Exterior Cabinet_Cabi
{"maxFileSize" : "10 MB", "fileList" : [{"fileName" : "1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat", "href" : "../Images/1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat.jpg"}]}
HTML和JavaScript
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="file-size-info"></div>
<div id="file-path-info"></div>
<script>
$.getJSON('http://localhost/MISREST/helpdocs', function (data) {
$.each( JSON.parse(data), function ( key, val ) {
if (key == "maxFileSize") {$("#file-size-info").append(val);};
if (key == "fileList") {$("#file-path-info").append(["fileList"]["href"]);};
});
});
</script>
$.getJSON('http://localhost/MISREST/helpdocs,函数(数据){
$.each(JSON.parse(数据)、函数(键、val){
if(key==“maxFileSize”){$(“#文件大小信息”).append(val);};
if(key==“fileList”){$(“#文件路径信息”).append([“fileList”][“href”]);};
});
});
应该是
if (key == "fileList") {
$("#file-path-info").append(val[0]["href"]);
};
假设文件列表中只有一个值,如果没有,则需要循环这些值
对于fileList
键,val
为您提供
[
{
"fileName": "1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat",
"href": "../Images/1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat.jpg"
}
]
然后需要从第一个对象中提取href
if (key == "maxFileSize") {$("#file-size-info").append(val);};
在该代码块中,maxFileSize
是键,val
是该属性的值(字符串10MB
)
按照这种模式,当fileList
是键时,val
将是该属性的值:[{“文件名”:“1_外部机柜C_机柜C_节能器C_废气热”,“href:”。/Images/1_外部机柜C_机柜C_节能器C_废气热.jpg}]
(包含作为对象的单个项的数组)
您需要为数组编制索引,以获取索引0处的项(唯一项),并获取该对象的href
属性的值,以便使用它:
if (key == "fileList") {$("#file-path-info").append(val[0].href);};
[“文件列表”][“href”]
?注意:这是假设OP只想显示文件列表
数组中的第一个元素,而不是整个文件列表。在第二种情况下,他应该映射数组值,如果OP返回更新的问题,我将更新答案