2011-08-05 9 views
7

Cómo analizar con GSON cuando el archivo se ve asíCómo analizar con GSON cuando identificador dispone de espacio en el nombre

{ 
    "Person Id":"test", 
    "Last Name": "test", 
    "First Name":"test" 
} 

sé que analizar cuando los nombres no tiene un espacio en medio, creo clase como

class Person{ 
public String PersonId; 
public String LastName; 
public String FirstName; 
} 

pero cómo analizar cuando el identificador tiene espacio adentro? ¿Qué cambiar en la clase de persona? (No puedo cambiar el formato del archivo).

+0

mirada al final de este tema: http://groups.google.com/group/google-gson/tree/browse_frm/month/2010-05/e575bb65cdd30410? rnum = 31 & _done =/group/google-gson/browse_frm/month/2010-05? & pli = 1 – MByD

+0

¿Utilizar el guión bajo para reemplazar el espacio? – rossum

+0

Sus identificadores de campo usan nombres que son contrarios a las convenciones de codificación de Java. Comience los identificadores con una letra minúscula. –

Respuesta

0

He intentado analizar este JSON pero no he utilizado GSON para analizarlo. Voy a compartir mi código con usted, por favor considere 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(); 
} 
32

sin dejar de utilizar GSON se puede hacer esto mediante la adición de 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; 
} 

Usted puede encontrar más detalles en la documentación GSON: https://sites.google.com/site/gson/gson-user-guide#TOC-JSON-Field-Naming-Support

+0

Gracias @Eric, resuelto para mí. –

Cuestiones relacionadas