如何从XML-RPC响应中读取

时间:2017-11-22 17:06:46

标签: javascript xml-rpc

当我console.log(response);时:

> [{..}]
//expanded
0:
    testmessage:
        testrep:
            12-12-09: {value1: 200, value2: 150, value3: 165}
            12-23-12: {value1: 20, value2: 150, value3: 165}
            01-04-16: {value1: 0, value2: 150, value3: 165}
            12-16-09: {value1: 150, value2: 150, value3: 165}

当我console.log(response[0].testmessage.testrep);时:

> {2017-11-20: {…}, 2017-11-21: {…}, 2017-11-22: {…}, 2017-11-23: {…}}
//expanded
    12-12-09: {value1: 200, value2: 150, value3: 165}
    12-23-12: {value1: 20, value2: 150, value3: 165}
    01-04-16: {value1: 0, value2: 150, value3: 165}
    12-16-09: {value1: 150, value2: 150, value3: 165}

我正在尝试遍历testrep中的每个日期行并获取值#values。

我尝试使用var len = response[0].testmessage.testrep.length来获取长度,因此我可以遍历并获取字段,但它返回null

如何实现循环并获取每个日期的值。

1 个答案:

答案 0 :(得分:1)

response[0].testmessage.testrep是一个对象。由于JS中的对象没有length属性,因此可以通过执行Object.keys(response[0].testmessage.testrep).length来获取长度。

但是因为你想要循环。有几种方法可以在JS中迭代对象。一个简单的方法是:

for(var date in response[0].testmessage.testrep) { //javascript 'var'
  var data = response[0].testmessage.testrep[date];
  // do somethings here with data and date
}