Я пытаюсь преобразовать набор результатов в строку JSON в Java. Данные в видепреобразовать результаты в вложенный json в java
+---+----------+-------------+---------------+
| id| job_type | question | response_type |
+---+----------+-------------+---------------+
| 1 | quote | question1 | text1 |
| 2 | quote | question2 | number2 |
+---+----------+-------------+---------------+
| 3 | standard | question1 | text2 |
| 4 | standard | question2 | number2 |
+---+----------+-------------+---------------+
, и я хочу, чтобы получить JSON в виде
{
"JobType": “Quote",
"Questions": [{
"question": “question1",
"response_type": “ text1",
}, {
"question": “question2",
"response_type": “ number2",
}],
“JobType”:”Standard”,
"Questions": [{
"question": “question1",
"response_type": “ number2",
}, {
"question": “question2",
"response_type": “ number2",
}]
}
Это где я получил до сих пор
JSONObject jobType = new JSONObject();
List<JSONObject> jobTypeQuestionListIndividual = new ArrayList<JSONObject>();
int i = 0;
if (!jobTemplate.next()) {
System.out.println("No records found");
} else {
do {
if (i % 2 == 0) {
jobType.put("JobType",jobTemplate.getString("JobType"));
JSONObject firstQuestion = new JSONObject();
firstQuestion.put("question", jobTemplate.getString("question"));
firstQuestion.put("response_type", jobTemplate.getString("response_type"));
jobTypeQuestionListIndividual.add(firstQuestion);
jobType.put("Questions",jobTypeQuestionListIndividual);
} else {
JSONObject question = new JSONObject();
question.put("question", jobTemplate.getString("question"));
question.put("response_type", jobTemplate.getString("response_type"));
jobTypeQuestionListIndividual.add(question);
}
i = i+1;
} while (jobTemplate.next());
}
System.out.println(jobType);
, но это приводит к
{
"JobType": “Quote",
"Questions": [{
"question": “question1",
"response_type": “ text1",
}, {
"question": “question2",
"response_type": “ number2",
},{
"question": “question1",
"response_type": “ number2",
}, {
"question": “question2",
"response_type": “ number2",
}]
}
Заранее благодарим за ваш шлем п.
Я никогда не использовал JSON с Java, но я советую вам создать QuestioResponse класс с двумя строками (возможно, целое число, если вы хотите сохранить идентификатор), и класс JobType, который содержит List of QuestionResponse (используйте список, который сохраняет заказ, если это важно) и String с именем типа работы. Затем, как только вы преобразуете все свои наборы результатов в эти Beans, вы можете работать над ними, чтобы создать объект Json (или даже использовать некоторые API/библиотеки, которые сделают это для вас). Это должно быть проще. – Asoub