在我的Android项目中,我使用了reverfit2作为API调用和GSON作为转换器。将json转换为POJO并遵循在同一项目的50+API中也使用的常用方法。
但是,在这种特定的情况下,一些项被解析并分配给变量,而其他项则不是。
如何解决这种部分解析?
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
}
{
"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"
}
我在这里看到的第一个错误
@SerializedName("lookupProductPickingLocation")
@Expose
private ArrayList<ProductPickingLocation> productPickingLocations = new ArrayList<>();
使用@expose
时,实际上是在使用ProductPickingLocations
。您可以在这里查看@expose vs@serializedname
使用以下任何一种
@SerializedName("lookupProductPickingLocation")
private ArrayList<ProductPickingLocation> productPickingLocations = new ArrayList<>();
@Expose
private ArrayList<ProductPickingLocation> lookupProductPickingLocation = new ArrayList<>();
第二,
@SerializedName("atsQty")
@Expose
private String atsQty;
您定义为String,但在Postman中可以清楚地看到它是整数。我认为这就是问题所在。您需要检查所有定义。
我在我的存储库中做了一些工作,发现一个文件有本地更改。我不再需要它们了,所以我删除了文件,以为我可以签出一份新的副本。我想做Git等效的 使用git pull似乎不起作用。一些随机搜索让我找到了一个有人推荐的网站 (
问题内容: 我有以下json: 基于的更改。 知道这一点,有没有办法使该字段保持字符串?这个想法是使用调用传递的正确处理程序,然后在其中使用正确的struct 解析字符串。 例: 先感谢您。 问题答案: 使用json.RawMessage获取字段的原始JSON文本: 像这样使用它: 在操场上跑。
问题内容: 我正在尝试运行脚本,但始终收到此错误: 我该如何解决? 问题答案: 我遇到了同样的问题,我在同一文件夹中创建了一个文件,名为requests.py。因此,它实际上是在导入该文件,而不是实际上在请求您使用pip安装。然后,我创建的名为logging.py的文件出现了另一个问题。我都重命名了,问题解决了。听起来像是同样的问题…
我正在玩由节点的模块实现的AES 256。js,以评估我是否可以将其用于特定的数据保护功能,我正在计划将其作为我正在设计的应用程序的一部分。 我试图验证一些加密的任意明文的解密,但我无法获得原始明文和解密结果相匹配,这意味着我的加密、解密或两者都有问题。 据我所知,我最好选择一个随机初始化向量(IV),我使用了-证据表明(留档没有说太多)它需要128位。我显然还需要CBC模式,这是有意义的,因为我
当我做一个,我得到我的分支: 当我尝试推送git时,我得到: 当我检查分支时,它不在那里: 我该如何解决这个问题?
我尝试安装< code>Lighttpd,但我得到了以下错误: 正在读取包列表…错误!E: 无法分析包文件/var/lib/dpkg/status(1)E:无法分析或打开包列表或状态文件。 因此,我在互联网上搜索并尝试删除和重新加载包裹列表: @ rasp:~ $ sudo RM/var/lib/apt/lists/*-VF removed '/var/lib/apt/lists/archive