使用Jquery和Javascript调用JSON对象属性值

时间:2017-05-16 13:47:32

标签: javascript jquery json

我正在尝试调用对象属性值并将其附加到div" file-path-info"。将JSON数据附加到" file-size-info"作品。我的第二个陈述我做错了什么?

我的JSON数据:

{"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>

2 个答案:

答案 0 :(得分:2)

应该是

if (key == "fileList") {
   $("#file-path-info").append(val[0]["href"]);
};

假设您在fileList中只有一个值,如果没有,那么您需要遍历这些值。

至于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。

答案 1 :(得分:1)

if (key == "maxFileSize") {$("#file-size-info").append(val);};

在该代码块中maxFileSize是密钥,val是该属性的值(字符串10 MB)。

遵循该模式,当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"}](包含作为对象的单个项的数组)。

您需要索引数组以获取索引0处的项目(唯一的项目)并获取该对象的href属性的值以便使用它:

if (key == "fileList") {$("#file-path-info").append(val[0].href);};
相关问题