Home » Android » java – How to parse with GSON when identifier has space in name

java – How to parse with GSON when identifier has space in name

Posted by: admin June 15, 2020 Leave a comment


How to parse with GSON when file looks like this

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

I know to parse when names doesn’t have space between, I create class like

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

but how to parse when identifier has space inside ? What to change in Person class ? ( I cannot change format of file ).

How to&Answers:

I have tried to parse this JSON but I didn’t use GSON to parse this. I’ll share my code with you, kindly consider only as a supplementary solution to solve the issue:

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("lname="+jsonObject.getString("Last Name"));
    System.out.println("fname="+jsonObject.getString("First Name"));
} catch (JSONException e) {


While still using GSON you can do this by adding an annotation. For instance:

class Person{
    @SerializedName("Person Id") public String PersonId;
    @SerializedName("Last Name") public String LastName;
    @SerializedName("First Name") public String FirstName;

You can find more details in the GSON documentation: