【发布时间】:2018-02-04 15:53:50
【问题描述】:
我正在尝试在 Unity C# 中创建一个自定义修订测验程序,它允许用户使用 JSON 文件将问题加载到程序中,结构如下:
{
"question": [
{
"title": "What wave characteristic is measured on the vertical axis?",
"answers": {
"correct": "Amplitude",
"wrong": [
"Frequency",
"Period",
"Speed"
]
}
},
{
"title": "Which of these is a vector quantity?",
"answers": {
"correct": "Velocity",
"wrong": [
"Speed",
"Time",
"Mass"
]
}
}
]
}
我已经设法让我的程序使用 StreamReader 从文件中读取,但在尝试将其放入单个数据结构时遇到了很多麻烦。
我已经看到其他解决方案使用类并为他们的解决方案手动定义结构,但我不知道如何为 a) 像这样复杂的结构和 b) 可以具有任意编号的结构实现这一点其中的项目(我想支持任意数量的问题)。如果最好的方法是定义这些类,我该如何去引用它们里面的项目?过去,我使用 Python 3.6 的 json 库的 json.loads() 函数解析 JSON,并且效果很好,创建了一个我可以轻松使用的单一多维数组/字典结构。
简单地说,我目前有一个字符串,我从一个包含 JSON 数据的文件中读取该字符串。如何将其合成为一个可以轻松访问的数组,例如 questions[question][0]["title"],在上述情况下将返回 "What wave characteristic is measured on the vertical axis?"?
【问题讨论】:
-
您的 Json 结构表明只有 1 个问题。您可以创建一组与您的 Json 模型匹配的类,并将 Json 反序列化为这些类的对象。查看newtonsoft.com/json/help/html/DeserializeObject.htm
标签: c# json parsing unity3d unity5