2016-07-08 3 views

ответ

0

Вы не имеете действительный JSON
как действительный JSON должен иметь ключ -value пара

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

Так что, если и хотят, чтобы пройти через это, положить его в цикл, как этот

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]); 
    }  
} 
1

Я имел такой же вопрос. Я обнаружил, что перед тем, как позвонить JSON.parse, мне пришлось удалить ведущие и завершающие скобки, чтобы он работал. JSON.parse внутри try-catch не провалился, но точно так же я не смог получить доступ к значениям в результирующем объекте.

Вот выдержка. "Строка [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"];

Надежда это помогает!

Смежные вопросы