2017-06-17 107 views
0

我想通过调查提醒()不同的JSON答案。我可以显示所有内容,但是我只能显示所选答案。因为这是一项调查,答案每次都会改变。这里是我的代码:JSON显示特定答案

var resultAsString = JSON.stringify(survey.data); 
    alert(resultAsString) 

,这里是我在警报获得

{"question1":"item4","question2":["faire","lion","elephant "],"question3":{"Row 1":"Column 2"}} 

我想提醒()只的答案seperately(即ITEM4;“自由放任”,“狮子“,”elephant“]; {”Row 1“:”Column 2“})我尝试了下面的代码,但没有显示任何内容。你可以帮我吗。

alert(resultAsString.question1) 
    alert(resultAsString.question2) 
    alert(resultAsString.question3) 
+0

不要使用'resultAsString',而是'survey.data'。喜欢这个'alert(survey.data.question1);' –

回答

0

您字符串化的JSON,然后访问它像键/值对的对象。请像这样做

var result = survey.data; 

alert(result.question1); 
alert(result.question2); 
alert(result.question3); 

很显然,你将不得不在这个数组中更多问题的答案随着时间的推移,以便单独访问每个问题不能得到很好的解决。

试试这个。

var result = survey.data; 
var resultKeys = Object.keys(result); 

for(var i = 0; i < resultKeys.length; i++) { 
if(typeof result[resultKeys[i]] === 'object') 
    alert(JSON.stringify(result[resultKeys[i]])); 
else 
    alert(result[resultKeys[i]]); 
} 
+0

谢谢!是的,这是一个更好的方式来做到这一点。但它对question3“question3”起作用:{“Row 1”:“Column 2”}}。它显示[object] [object]。也许你知道原因以及如何解决它?再次感谢 – Thomas

+0

感谢它完美的作品! – Thomas

+0

乐意帮忙。请高调回答以及 –

0

尝试这种情况:

var resultAsString1 = JSON.stringify(survey.data.question1); 
alert(resultAsString1); 
+0

谢谢它的作品:) – Thomas