Я создаю службу RESTful API в Java с использованием Spring Boot.У меня есть класс, из которого я пытаюсь создать объект JSON.Все работает отлично, за исключением того, что объект json из экземпляра класса пропускает нулевые значения.Я хотел бы сохранить ключи и установить значение на ноль, а не удалять их полностью из вывода.
Вывод выглядит следующим образом (для краткости сокращен)
"questions": [
{
"question": "question1",
"svg": "svg1",
"questionNum": 1
},
{
"question": "question2"
"svg": "q2",
"questionNum": 2
}
],
Предпочтительный вывод
"questions": [
{
"question": "question1",
"svg": "svg1",
"questionNum": 1,
"shuffledNum": null,
"answer": null
},
{
"question": "question2"
"svg": "q2",
"questionNum": 2,
"shuffledNum": null,
"answer": null
}
],
Вот объект JsonQuestionObject:
public class JsonQuestionObject {
private Integer questionNum;
private String svg;
private Integer shuffledNum = null;
private String question;
private Integer answer = null;
//Getters & Setters
}
Вот метод JSON Creator (который принимает массив JsonQuestionObjects)
public JSONObject createQuestionsJson(ArrayList<JsonQuestionObject> questions) {
JSONObject output = new JSONObject();
JSONArray content = new JSONArray();
JSONObject subContent = new JSONObject();
JSONArray qarray = new JSONArray();
for (int i = 0; i < questions.size(); i++) {
JsonQuestionObject q = questions.get(i);
Integer qnum = q.getQuestionNum();
JSONObject qitem = new JSONObject(q);
if (qnum < 5) {
qarray.put(qitem);
} else if (qnum > 4 && qnum < 7) {
qarray.put(qitem);
} else if (qnum > 6 && qnum < 9 ) {
qarray.put(qitem);
} else if (qnum > 8 &&) {
qarray.put(qitem);
}
}
subContent.put("questions", qarray);
content.put(subContent);
output.put("output", content);
return output;
}
Есть ли способ сохранить эти нулевые значения, кроме создания JSONObject вручную, используя методы установки и получения каждого свойства и установки JSONObject.put("answer", JSONObject.NULL)
?
Очень признателен за любую помощь.