如何从节点js中的Json对象获取键值

how to get a key value from Json object in node js

我想从下面的json对象中获取id值

  answerTag: 
   [ '[{"id":64,"name":"Coronary Artery Disease"}]',
   '[{"id":64,"name":"Coronary Artery Disease"}]' ],
   risk: '1' }

您没有有效的 JSON
作为一个有效的 json 应该有一个键值对

var  answerTag= 
{
 "key1":{"id":64,"name":"Coronary Artery Disease"},
 "key2":{"id":64,"name":"Coronary Artery Disease"},
 "key3":{risk: '1' }
}

所以如果你想遍历它,像这样把它放在 for 循环中

getKeyValueFromJSON(answerTag);

function getKeyValueFromJSON(
   for(var key in obj) {
      alert("Key: " + key + " value: " + obj[key]);
   }
}

或者如果我能得到它 形成的JSON是这样的

var obj={ 
  answerTag: [
     '[{"id":64,"name":"Coronary Artery Disease"}]',
     '[{"id":64,"name":"Coronary Artery Disease"}]' ],
  risk: '1'
}

所以你可以这样使用它

for(var key in obj) {
    for(var innerKey in obj[key]) {
      console.log("Key: " + innerKey + " value: " + obj[key][innerKey]);
   }      
}

我遇到了同样的问题。我发现在调用 JSON.parse 之前我必须删除前导和尾随括号才能使其工作。 try-catch 中的 JSON.parse 没有失败,但同样我无法访问结果对象中的值。

这是摘录。 "rows[0]" 是我的 MySQL 结果数组的第一行

result = JSON.stringify(rows[0])
result = result.replace(/(^\[)/, '');
result =  result.replace(/(\]$)/, '');
try {
  var resultObj = JSON.parse(result);
} catch (e) {
  console.log("Error, not a valid JSON string");
}
var my_value = resultObj["my_key"];

希望对您有所帮助!