Cómo corregir el nombre de las propiedades al agregar ArrayList <List <Integer>> a JSONArray y luego a JSONObject

Tengo un problema al guardar mis resultados en el archivo. Tengo 2 Arraylists

ArrayList<List<Integer>>positions 
ArrayList<List<Integer>>positions2   

con formato de datos como este:

[[0,32],[39,19],[60,15],...]

Quiero guardar estos datos en un formato de archivo JSON como este:

"collocation": {
"first": [[0,32],[39,19],[60,15],...],
"second":  [[0,32],[39,19],[60,15],...]}

Intenté seguir el código para crear el primer objeto

JSONArray JsonArray = new JSONArray(positions);
JSONObject Jsonobject = new JSONObject();
Jsonobject.put("first",JsonArray);
String jsooo = new Gson().toJson(Jsonobject);

Y termino con resultados:

{"map":{"first":{"myArrayList":[{"myArrayList":[0,32]},{"myArrayList":[39,19]},{"myArrayList":[60,15]}}

¿Por qué obtengo "map" y "myArrayList" y cómo puedo evitarlo / eliminarlo para obtener lo que quiero?

Entonces, ¿qué debo hacer para obtener el formato que necesito? Esto ocurre solo cuando ejecuto put (), pero no conozco otras formas de crear la estructura que necesito.

Respuesta 1

Tengo una clase personalizada llamada "ergebnisse" con varios campos, uno de ellos es la puntuación de tipo Long. Quiero ordenar una ArrayList <ergebnisse> por puntuación. Intenté muchas cosas, pero la mayoría son ...

Estoy creando una web con Spring que permitirá al usuario ver los repositorios, sus problemas y agregar nuevos problemas si lo desea. El problema aparece cuando el usuario quiere crear un nuevo problema. Yo obtengo "...

Tengo un formulario que toma un nombre de usuario y lo pasa a LoginServlet.java que a su vez: Si no hay sesión: crea una sesión para ese nombre de usuario y reenvía la solicitud a LoginResultView.jsp que ...

¿Se requiere la regla de potencia de 2 en Andengine GLES2, o fue solo para GLES1? Sé que se recomienda crear su BitmapTextureAtlas con valores de ancho y alto como potencia de 2, 512x512 para ...