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
开发者_如何学Cclass 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 ).
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: https://sites.google.com/site/gson/gson-user-guide#TOC-JSON-Field-Naming-Support
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("id="+id);
System.out.println("lname="+jsonObject.getString("Last Name"));
System.out.println("fname="+jsonObject.getString("First Name"));
} catch (JSONException e) {
e.printStackTrace();
}
精彩评论