2016-11-22 36 views
-2

我有一个基于问题的iOS应用程序(在Swift 3.0中)。只要你从不同类别的问题,如科学,化学等。在JSON文件中,我定义了这些问题。在代码段“答案”中:用户得到正确的答案。JSON,如何添加json格式的两个单词?在下面,很难把这个标题

我的问题是如果我可以在那里添加另一个字符串/单词。这是可能的,我该怎么做?我可以这样做吗:"answers": ["Astronomi, Ekologi"],?那么用户可以同时回答并得到正确答案?

谢谢你对我的帮助,我是初学者应用程序开发人员,所以还在学习日常:)

{ 
    "question": "Vad kallas läran om rymden?", 
    "answers": ["Astronomi"], 
    "correctIndex": 0, 
    "feedback": "Astronomi är läran om rymden.", 
    "category": "Fysik", 
    "subcategory": "Astronomi", 
    "isTest": true 
    }, 

回答

0
var obj = { 
    "question": "Vad kallas läran om rymden?", 
    "answers": ["Astronomi"], 
    "correctIndex": 0, 
    "feedback": "Astronomi är läran om rymden.", 
    "category": "Fysik", 
    "subcategory": "Astronomi", 
    "isTest": true 
} 

,并在迅速

这遍历答案并返回列表true如果在那里。

for answer in obj.answers { 
    if answer == user_answer { 
     return true; 
    } 
} 

加分

我知道JavaScript有这个,你就不得不抬头,如果不迅速的速记?

return (user_answer in obj.answers); 

这是上述的简写,可以在某些高级语言中找到。 (不迅速由昆汀指出)

if ("foo" in ["baz","bar","foo"]) { 
    // foo found ... 
} 

这也适用对象是这样的:

if ("question" in obj) { 
    // obj["question"] exists... 
} 
+1

'上的属性名称,而不是值in'工作,让JS例子是行不通的。 – Quentin

+0

是的,但只有一个答案比较,不是吗?我想有两个答案,用户只能输入,都是他们的正确答案。就像它已经知道它的工作一样,你明白我的意思吗? –