有啥方法可以使用 gson 反序列化 BigQuery Numeric 数据类型
Posted
技术标签:
【中文标题】有啥方法可以使用 gson 反序列化 BigQuery Numeric 数据类型【英文标题】:Is there any way I can deserialize BigQuery Numeric datatype using gson有什么方法可以使用 gson 反序列化 BigQuery Numeric 数据类型 【发布时间】:2020-05-01 14:22:32 【问题描述】:在将 BigQuery 对象反序列化为自定义对象时,我遇到了以下问题。所以我使用 BigQuery Storage API 来获取 Bigquery 结果。下面是相同的代码。
BigQueryIO.read(new ReadTable<Payments>(Payments.class)).from("TableName")
.withMethod(Method.DIRECT_READ)
正如您在 ReadTable 类中看到的,我正在使用 gson 反序列化对象。
gson.fromJson(jsonElement, class1);
下面是自定义 pojo 类的代码,只有 getter 和 setter,我想要 String 格式的字段数据。
private @Nullable String amount;
public String getAmount()
return amount;
public void setAmount(String amount)
this.amount = amount;
有什么办法可以解决这个问题吗?
【问题讨论】:
您找到解决问题的方法了吗? 【参考方案1】:这看起来可能是一个错误,但我们或许能够解决它。我怀疑 ByteBuffer 可以被解析为 BigDecimal。你可以试试这样的:
new BigDecimal(theByteBuffer.toCharBuffer().array()
或者如果BigInteger
可以工作:
new BigInteger(theByteBuffer.array()
让我知道这是否可行,或者我们是否应该迭代以找出如何做到这一点。
【讨论】:
以上是关于有啥方法可以使用 gson 反序列化 BigQuery Numeric 数据类型的主要内容,如果未能解决你的问题,请参考以下文章