Cómo analizar con GSON cuando el identificador tiene espacio en el nombre
Cómo analizar con GSON cuando el archivo se ve así
{ "Person Id":"test", "Last Name": "test", "First Name":"test" }
Sé analizar cuando los nombres no tienen espacio entre, creo la clase como
- Cómo analizar JSON analizado para uso sin conexión
- ¿Cómo puedo utilizar Retrofit para POST un complejo JSON parámetro
- Diferentes formas de publicar valores json en Server
- Error al analizar datos org.json.JSONException: El valor <br del tipo java.lang.String no se puede convertir en JSONObject
- ¿Cómo manejar parámetros que pueden ser ARRAY u OBJECT en Retrofit en Android?
class Person{ public String PersonId; public String LastName; public String FirstName; }
Pero ¿cómo analizar cuando el identificador tiene espacio dentro? ¿Qué cambiar en la clase Person? (No puedo cambiar el formato del archivo).
- Conversión de la matriz JSON a POJO utilizando el mapeador de objetos jackson
- Cómo convertir una cadena en unicode en android
- Optimizar JSonArray para Loop
- Cómo obtener cadena de JSONObject sin nombre específico
- Diferencia entre JSONObject y JSONArray
- Protobuf streaming (serialización perezosa) API
- JSONObject no funciona para Android 2.3, pero funciona bien con Android 4.2, ¿por qué?
- Org.json.JSONObject no se puede convertir en JSONArray en android
He intentado analizar este JSON pero no utilicé GSON para analizar esto. Voy a compartir mi código con usted, amablemente considerar sólo como una solución complementaria para resolver el problema:
String parse = "{\"Person Id\":\"test\",\"Last Name\": \"lname\",\"First Name\":\"fname\"}"; try { JSONObject jsonObject = new JSONObject(parse); String id = jsonObject.getString("Person Id"); System.out.println("id="+id); System.out.println("lname="+jsonObject.getString("Last Name")); System.out.println("fname="+jsonObject.getString("First Name")); } catch (JSONException e) { e.printStackTrace(); }
Mientras sigue usando GSON, puede hacerlo añadiendo una anotación. Por ejemplo:
class Person{ @SerializedName("Person Id") public String PersonId; @SerializedName("Last Name") public String LastName; @SerializedName("First Name") public String FirstName; }
Puede encontrar más detalles en la documentación de GSON: https://sites.google.com/site/gson/gson-user-guide#TOC-JSON-Field-Naming-Support
- ¿Cómo puedo resolver el `PlaceAutoCompleteFragment`?
- Margen de diseño para la vista de texto mediante programación