我对JSON和javascript很新。我是一名教师,目前正在开发一款教授学生的应用程序。我提出的问题有时只有一个有效的答案,但有时他们有多个正确的答案。其中一个示例在以下代码中:
{
"q":"3. What does it say?",
"au":"audio/3.mp3",
"answr1":"I am American",
"answr2":"I am America",
"canswer":"I am American",
"answrfeedback":"Remember that country and nationality are different things. ",
"answrType":"8"
},
如您所见,canswr是正确的答案。如果学生用文本输入回答这个问题,那么两个答案是有效的:
我的问题是......在Txt文件中,JSON是否计算了OR的可能性? 如果没有,您认为哪个方法可以解决这个小问题?
谢谢!
答案 0 :(得分:3)
JSON确实支持数组。我会将您的JSON格式更改为以下架构:
{
"question": "1. Question text",
"audio": "path/to/audio.mp3",
"answers": [{
"text": "Answer 1",
"correct": true,
}, {
"text": "Answer 2",
"correct": false
}]
}
通过这种方式,您可以拥有多个正确的答案(即correct
字段设置为true
的答案)。
答案 1 :(得分:1)
由于JSON是键值存储,因此每个键都有一个关联值。但是 - JSON数组可以存储各种数据 - 事实上,键值存储中的“值”也可以是一个数组,这意味着您可以将多个值附加到单个键。但是,根据您如何验证此问题的正确答案,有很多方法可以解决这个问题。也许提供您的标记或您的实际脚本将有助于人们回答您的问题!
编辑:添加了示例。
例如,使用您当前的设置,您可以执行以下操作:
{
"q": "3. What does it say?",
"au": "audio/3.mp3",
"answr1": "I am American",
"answr2": "I am America",
"canswer": ["I am american","I'm American"],
"answrfeedback": "Remember that country and nationality are different things. ",
"answrType": "8"
}
然后,循环“canswer”中的值。但是,这可能不是理想的解决方案,取决于您计划如何访问数据。