【发布时间】:2014-08-08 14:15:28
【问题描述】:
我试图将我从我的 Limesurvey 服务器收到的 Json 响应解析为 Java,但是我看不到我应该创建什么类型的类。
这是我要解析成 java 对象的 json 字符串:
{"id":1,"result":{"gid":"1","type":"L","help":"Veuillez entrer votre niveau d'\u00e9tudes \u00e0 l'INPT.","language":"fr","sid":"796246","question_order":"3","question":"<p>\r\n\tvotre niveau d'\u00e9tudes \u00e0 l'INPT :<\/p>\r\n","answeroptions":{"A1":{"answer":"INE1","assessment_value":"0","scale_id":"0"},"A2":{"answer":"INE2","assessment_value":"1","scale_id":"0"},"A3":{"answer":"INE3","assessment_value":"1","scale_id":"0"}}},"error":null}
为了解析它,我创建了以下类:
public class Answer
{
String answer;
int assessment_value;
int scale_id;
@Override
public String toString() {
return "answer : "+answer + " - assessment_value : " + assessment_value + " - scale_id :" + scale_id;
}
}
public class answerOptions
{
String a;
Answer t;
}
public class QuestionProperties
{
int gid;
String type;
String help;
String language;
int sid;
int question_order;
String question;
ArrayList<answerOptions> answeroptions;
@Override
public String toString() {
return "gid : "+gid + " - type : " + type + " - help :" + help + " - language :" + language + " - sid :" + sid + " - question_order :" + question_order + " - question :" + question;
}
}
public class getQuestionProperties
{
int id;
QuestionProperties result;
String error;
@Override
public String toString() {
return "id : "+id + " - result : " + result + " - error :" + error;
}
}
我遇到的问题是我将“answeroptions”声明为一个数组,而它不是,但是我不能确定其中的选项数量,我尝试了一个类似于一对排序的类,但是它不工作?关于如何在不失去一般性的情况下对这个问题建模的任何想法,因为我想要一种方法来自动解析这个无论选项数量如何!!
【问题讨论】:
标签: gson