У меня есть JSONArray
который выглядит следующим образом:JSONArray в строку в Java
как я могу преобразовать его в строку?
если я попробовать:
json.toString();
строка:
["[email protected]","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]"]
, но я хочу что-то вроде этого:
{
"json":
"values": [
{
"answer": "true",
"remark":"",
"questionId": "0"
"checklistId": "2"
},
{
"answer": "true",
"remark":"",
"questionId": "0"
"checklistId": "2"
}
]
}
EDIT:
это пропущено как Я создаю массив json:
if(cb.isChecked() || !text.getText().toString().equals("")){
ChecklistAnswer answer = new ChecklistAnswer(questions.get(id).id, 2, cb.isChecked(), text.getText().toString());
answers.add(answer);
}
}
JSONArray json = new JSONArray(answers);
String jsonString = json.toString();
показать некоторый фрагмент кода –
это работает как задумано ... вы просто положить 'ChecklistAnswer' объект в массив ... не' 'JSONObject' ... ChecklistAnswer.toString()' возвращает «[email protected]» ... поэтому либо переопределить метод ChecklistAnswer.toString, чтобы вернуть строку json, либо сделать функцию для перевода ChecklistAnswer в JSOObject – Selvin
show codes, используемые для разбора json –