无法从JSON获得价值

时间:2013-11-14 17:17:26

标签: javascript json node.js

我是一名电气工程师,在RaspberryPi上使用NodeJS为学校开展项目。我对面向对象编程的想法很新,并且无法从JSON对象中获取特定值。

我的程序查询wolframalpha,它使用以下代码返回一个对象“result”:

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

我至少在最后一小时尝试过不同的组合。请帮忙!

感谢您的时间,

Bobbyg

2 个答案:

答案 0 :(得分:9)

result看起来像一个数组。

尝试:

var newResults = result[0].subpods[0].value;

答案 1 :(得分:4)

请尝试以下代码..

var newResults = result[0].subpods[0].value;