Я пытаюсь вывести список в форматировании JSON, но это не так, как я хочу.Вывод JSON
Вот результат:
{
"songMap": [
{
"SID": "699",
"SDID": "1079287588763212246"
},
{
"SID": "700",
"SDID": "1079287588763212221"
},
{
"SID": "701",
"SDID": "1079287588763212230"
}
]
}
Вот что я хотел бы, чтобы это выглядело как:
[
{
"SID": "699",
"SDID": "1079287588763212246"
},
{
"SID": "700",
"SDID": "1079287588763212221"
},
{
"SID": "701",
"SDID": "1079287588763212230"
}
]
мне не нужно ни хочу промежуточный массив, я не уверен, почему это добавляется. У меня есть пользовательский класс следующим образом:
public class songID {
public int SID;
public String SDID;
public songID() {}
public songID(int key, String value) {
this.SID = key;
this.SDID = value;
}
}
Это как это сериализации:
Gson gson = new Gson();
String json = gson.toJson(songMap);
Если я распечатать строку JSON, это выглядит так, как я хочу его. Однако сервер добавляет дополнительную «SongMap». Вот как моя переменная объявлена в верхней части класса:
private List<songID> songMap;
.....
songMap = new ArrayList<songID>();
сам songMap, который содержит много songID объектов –
возможный дубликат [JAX-RS - JSON без корневого узла] (http://stackoverflow.com/questions/ 4838192/jax-rs-json-without-root-node) – Thilo
Кажется, есть (не переносные) способы настроить JAX-RS, чтобы этого не делать (см. Связанный другой вопрос), но если вы также управляете клиентом , вероятно, проще просто развернуть ответ на клиенте. – Thilo