在 JSON.parse 函数中传递外部变量

Ama*_*a G 3 javascript json node.js

我正在尝试使用该JSON.parse函数从 json 获取值。我的json响应如下:

{
  "rows": 10,
  "os": "0",
  "page": "1",
  "total": "122",
  "projects": {
    "P143841": {
      "id": "P143841",
      "locations": [{
        "geoLocId": "0002220957",
        "latitude": "3.866667",
        "longitude": "11.516667"
      }],
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做JSON.parse(obj.rows),我可以获得值 10但是如果我将行分配给一个变量 sayvar value = rows然后我将它传递给JSON.parse(obj.value)我得到的函数undefined

PS我不会知道响应参数的名称,即我不知道它是否会rowsos从上面的例子中引用。我将从数据库中检索它们。如果我执行以下代码:

  for (var i=0;i<length;i++) {
    var value = responseParam_array[i];
    console.log(obj.value);
  }
Run Code Online (Sandbox Code Playgroud)

我得到了输出,但任何帮助将不胜感激。

nnn*_*nnn 5

根据其他答案,您不需要解析单个属性,只需解析原始 JSON,然后对结果对象进行操作。

但是对于这个问题:

“如果我将行分配给一个变量 say var value = rows 然后我将它传递给 JSON.parse(obj.value) 我得到 函数undefined

如果value是一个保存属性名称的变量,obj那么您需要:

obj[value]
// NOT
obj.value
Run Code Online (Sandbox Code Playgroud)

当您使用“点”表示法时,点右侧的部分被视为属性的字面名称,而不是变量。使用方括号语法计算方括号中的表达式,并将其结果作为属性名称。