Reputation: 31
i am trying to parse following json file.
"ItemData" : [{
"-item" : "A",
"id" : "100",
"name" : "abc",
"description" : "abcd",
"category" : "xyz",
}
]
I am able to parse everything except first field. Its because of "-" character in the beginning. I tried using @SerializedName("-item") in my POJO file. But does not work.
Can anybody tell me how can i parse this field?
Upvotes: 0
Views: 511
Reputation: 124275
I am not sure how your code looks like but @SerializedName("-item")
seems to be working fine for me
class Data {
private List<ItemData> ItemData = new ArrayList<ItemData>();
@Override
public String toString() {
return "Data [ItemData=" + ItemData + "]";
}
}
class ItemData {
@SerializedName("-item")
private String _item;
private String id;
private String name;
private String description;
private String category;
@Override
public String toString() {
return "ItemData [_item=" + _item + ", id=" + id + ", name=" + name
+ ", description=" + description + ", category=" + category
+ "]";
}
}
Usage
Gson gson = new Gson();
String jsonString = "{\r\n" + " \"ItemData\" : [{\r\n"
+ " \"-item\" : \"A\",\r\n" + " \"id\" : \"100\",\r\n"
+ " \"name\" : \"abc\",\r\n"
+ " \"description\" : \"abcd\",\r\n"
+ " \"category\" : \"xyz\"\r\n" + " }\r\n" + " ]\r\n"
+ "}\r\n";
Data item = gson.fromJson(jsonString, Data.class);
System.out.println(item);
Output
Data [ItemData=[ItemData [_item=A, id=100, name=abc, description=abcd, category=xyz]]]
^^^^^^^
Upvotes: 1