gpt4 book ai didi

java - Gson在JAVA Android中将 boolean 值从1反序列化为false

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:35 32 4
gpt4 key购买 nike

我正在使用的类如下:

public class TheJob {       
private String jobDescription = null, jobAdditionalInfo = null, jobAddress = null;

@SerializedName("jobActive")
public boolean jobActive = true;

@SerializedName("offsiteAllowed")
public boolean offsiteAllowed;
}

我收到的 JSON 如下:

[{"jobId":"2","jobDescription":"Beta","jobAdditionalInfo":"Edited ","jobAddress":"103 Emus Avenue \nCenturion \n0157 \nSouth Africa \n","jobActive":"1","offsiteAllowed":"1"}]

我已经删除了其余的 JSON 数组项,因为它们完全相同。

我无法正确解析 boolean 字段 jobActive 和 offsiteAllowed,它们总是解析为 false,即使 JSON 值为 1。

除 boolean 值外,我的 TheJob 类中的其他所有内容都完美反序列化

如有任何建议,我们将不胜感激。

最佳答案

Gson 非常面向类型。要将 int 值解析为 boolean 值,您可能必须注册自定义 boolean 值反序列化类。或者,如果您控制 api 更改,则返回 true 而不是 1。它期望“true”并将其他所有内容视为 false。应该有一些注册自定义 JsonDeserializer 类的示例。这个适配器将允许你做一些事情,比如反序列化到一个名为 isFruit 的 boolean 变量,并从 API 返回 Apple、Orange、Carrot 等。注册后,您可以实现自定义反序列化器来评估值并根据需要将 true 和 false 反序列化为 isFruit。

关于java - Gson在JAVA Android中将 boolean 值从1反序列化为false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39456049/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com