【发布时间】:2020-05-28 08:48:36
【问题描述】:
我正在尝试使用 unity3D 为儿童制作多主题问答游戏,问题和答案存储在 json 文件中。现在我想创建一个名为“科学”和“数学”的对象,并希望将它们各自的问题存储在其中,当我想访问科学时,我可以循环查找并将科学问题存储在我的字符串中,而不是阅读整个json 文件。
这是我的 json 文件。
Science ={
"CourseName":"Science",
"No_Of_Ques":4,
"Ques_Data":[
{ "Quesion":"which is the biggest planet in the solar system?",
"Answer":"jupiter",
"options":["mars","earth","venus","jupiter"]
},
{ "Quesion":"How many planets are there in solar system?",
"Answer":"Eight",
"options":["Seven","Nine","Five","Eight"]
},
{ "Quesion":"which is the closest planet to the sun?",
"Answer":"mercury",
"options":["mars","saturn","venus","mercury"]
},
{ "Quesion":"How many moons does jupiter have?",
"Answer":"12",
"options":["5","13","9","12"]
}
]
}
这就是我到目前为止的访问方式
path = Application.dataPath + "/QnA.json";
string json = File.ReadAllText(path);
Course c1 = JsonUtility.FromJson<Course>(json);
return c1;
课程和需要的可序列化类:
[Serializable] public class Course
{
public string CourseName;
public string No_Of_Ques;
public QnA[] Ques_Data;
}
[Serializable]
public class QnA
{
public string Quesion;
public string Answer;
public string[] options;
}
我已经尝试了很多东西,比如反序列化和 Jobject 资产,但它们似乎都不起作用,而且我在互联网上找到的每个实现都将 json 数据与 c# 代码放在同一个文件中,但我不能这样做我的 json 包含数百行数据。请帮帮我。
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。