如何从iron ajax响应对象中提取对象数组(结果)

时间:2017-12-03 08:51:18

标签: javascript ajax polymer-1.0

用于从iron ajax调用获取json数据的代码片段下方的

enter image description here。我能够在mapResponse中获取json对象值。 我想得到json数据中的结果数组的值,并希望将此结果对象值作为输入属性传递给另一个聚合物组件

从铁ajax加载数据的代码

<iron-ajax
      id="originalData"
      auto
      url="{{originalDataURL}}"
      handle-as="json"
      last-response="{{originalData}}" on-response="mapResponse">
    </iron-ajax>


Json file


{
  "tags": [
    {
      "name": "test",
      "results": [
        {
          "groups": [
            {
              "name": "type",
              "type": "number"
            }
          ],
          "values": [
            [
              946890000000,
              99.93584833,
              3
            ],
            [
              946846800000,
              99.94809842,
              3
            ],
            [
              946803600000,
              99.96034846,
              3
            ],
            [
              946760400000,
              99.97259848,
              3
            ],
            [
              946717200000,
              99.98484848,
              3
            ]
          ],
          "attributes": {}
        }
      ],
      "stats": {
        "rawCount": 5
      }
    }
  ]
}


 <script>
    Polymer({
 is: 'test-view',
 properties: {
 results: {
        type: Array
      },

     mapResponse: function (data) {
        var dummy = data.detail.response;
        console.log("resposne is ",dummy);
        results = dummy.results;
        console.log("array is ",results);
},

我试图在控制台日志中获得结果数组对象值,但是未定义。在这里,我能够获得虚拟的值,我正在获得完整的json对象(标签)我想从这个(标签)对象只获得结果数组对象。

任何人都可以建议我怎么才能得到结果数组值? 提前致谢。

1 个答案:

答案 0 :(得分:0)

它应该是results = dummy.tags[0].results; 而不是results = dummy.tags[0].results;

如果标签有多个结果数组,您可以results = dummy.tags.map(x=>x.results);