Я пытаюсь десериализовать объект JSON в Java, но gson.fromJson()
, похоже, не работает. Это дает null
значение после десериализации.
У меня есть json ответ такой:
{
"master": [{
"data": {
"getStoreItem": {
"gtin": "84",
"storeId": "49",
"locations": {
"salesfloor": [{
"aisle": "5",
"aisleDesc": "5"
}]
},
"pricing": {
"retailPrice": 11.28,
"hoRetailPrice": null
},
"basicInfo": {
"itemNumber": 87,
"departmentNumber": 1
},
"inventory": {
"onHandQuantity": 358,
"inTransitQuantity": 0
},
"restrictions": {
"isAssociateDiscountable": false
},
"itemAssociatedGtins": [{
"gtin": "847"
}]
}
}
}, {
"data": {
"getStoreItem": {
"gtin": "97",
"storeId": "4",
"locations": {
"salesfloor": [{
"aisle": "1",
"aisleDesc": "1"
}]
},
"pricing": {
"retailPrice": 19.98,
"hoRetailPrice": null
},
"basicInfo": {
"itemNumber": 871,
"departmentNumber": 1
},
"inventory": {
"onHandQuantity": 56,
"inTransitQuantity": 0
},
"restrictions": {
"isAssociateDiscountable": false
},
"itemAssociatedGtins": [{
"gtin": "9754610200"
}]
}
}
}]
}
У меня есть Master.java
класс, подобный этому -
import java.util.List;
public class Master {
List<Data> data;
public List<Data> getData() {
return data;
}
public void setData(List<Data> data) {
this.data = data;
}
public static class Data {
private GetStoreItem getStoreItem;
public GetStoreItem getGetStoreItem() {
return getStoreItem;
}
public void setGetStoreItem(GetStoreItem getStoreItem) {
this.getStoreItem = getStoreItem;
}
public static class GetStoreItem {
private String gtin;
private String storeId;
public String getGtin() {
return gtin;
}
public void setGtin(String gtin) {
this.gtin = gtin;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
}
}
}
Когда я делаю:
Master m = gson.fromJson(json, Master.class);
m
содержит:
data: null
Невозможно понять, где я иду не так.