3

我无法从 JSON 对象获取特定值。

我的程序使用以下代码查询返回对象“结果”的 wolframalpha:

var wolfram = require('wolfram').createClient("[CENSORED]")

wolfram.query("integrate 2x", function(err, result) {
  if(err) throw err
  console.log("Result: %j", result)
})

它返回以下 JSON:

[
  {
    "subpods": 
      [{
      "title":"",
      "value":" integral 2 x dx = x^2+constant",
      "image":"http://www5a.wolframalpha.com/Calculate/MSP/MSP36002050fgg595dgib5a000031a456025754352g?MSPStoreType=image/gif&s=59"
      }],
    "primary":true
  },
  {
      "subpods": [{
      "title":"",
      "value":"",
      "image":"http://www5a.wolframalpha.com/Calculate/MSP/MSP36012050fgg595dgib5a000055e24iecig9cc4ga?MSPStoreType=image/gif&s=59"
    }],
    "primary":false
  }
]

我试图从第一个 subpod 中获得“价值”。我试过: var newResults = result.subpods[0].value;

但这给了我一个错误: TypeError: Cannot read property '0' of undefined

至少在过去的一个小时里,我一直在尝试不同的组合。请帮忙!

感谢您的时间,

鲍比

4

2 回答 2

9

result看起来像一个数组。

尝试:

var newResults = result[0].subpods[0].value;
于 2013-11-14T17:21:09.330 回答
4

试试下面的代码..

var newResults = result[0].subpods[0].value;
于 2013-11-14T17:23:37.387 回答