Я использую Retrofit 2 для вызовов API и GSON в качестве конвертера в моем проекте Android.
Преобразовал json в POJO и следовал обычным методам, которые также используются в 50+ API в том же проекте.
Но, это конкретный сценарий, некоторые элементы анализируются и присваиваются переменной, а другие нет.
как разрешить этот частичный разбор?
Здесь вы можете увидеть разницу в отладке на Android и почтальоне
Product.class
public class ProductLookup {
@SerializedName("atsQty")
@Expose
private String atsQty;
@SerializedName("combID")
@Expose
private String combID;
@SerializedName("defaultPickLock")
@Expose
private String defaultPickLock;
@SerializedName("lookupProductPickingLocation")
@Expose
private ArrayList<ProductPickingLocation> productPickingLocations = new ArrayList<>();
@SerializedName("productID")
@Expose
private String productID;
@SerializedName("productName")
@Expose
private String productName;
@SerializedName("totalQty")
@Expose
private String totalQty;
@SerializedName("unitName")
@Expose
private String unitName;
@SerializedName("upc")
@Expose
private String upc;
@SerializedName("vendorName")
@Expose
private String vendorName;
@SerializedName("whName")
@Expose
private String whName;
//getter setters
}
Json response
{
"atsQty": 133,
"combID": 0,
"defaultPickLock": "FA1",
"lookupProductPickingLocation": [
{
"availQty": 22,
"isdefault": true,
"lookupProductBatch": [],
"lookupProductLotSerial": [],
"pickLockID": 26,
"pickingLocationName": "FA1",
"prodPickLockID": 77,
"totalQty": 27
},
{
"availQty": 100,
"isdefault": false,
"lookupProductBatch": [],
"lookupProductLotSerial": [],
"pickLockID": 27,
"pickingLocationName": "FA2",
"prodPickLockID": 121,
"totalQty": 100
},
{
"availQty": 6,
"isdefault": false,
"lookupProductBatch": [],
"lookupProductLotSerial": [],
"pickLockID": 28,
"pickingLocationName": "FB1",
"prodPickLockID": 131,
"totalQty": 6
}
],
"productID": 1065,
"productName": "Arm & Hammer Baking Soda",
"totalQty": 133,
"unitName": "",
"upc": "5454546",
"vendorName": "Vandelay Industries",
"whName": "Warehouse 2"
}