gpt4 book ai didi

java gson - 检查 JsonElement 是字符串还是 JsonObject

转载 作者:行者123 更新时间:2023-11-29 07:25:43 25 4
gpt4 key购买 nike

我试图通过检查一个值来使 API 向后兼容。

我必须确定其中一个参数是 string 还是 JsonObject

这是我尝试过的:

if (oDevices.get(i).getAsJsonPrimitive().isJsonObject()) {
deviceToClean.addProperty("deviceId", oDevices.get(i).getAsJsonObject().get("name").getAsString());
} else if(oDevices.get(i).getAsJsonPrimitive().isString()) {
deviceToClean.addProperty("deviceId", oDevices.get(i).getAsString());
}

当我向 API 发送 JsonObject 时,出现以下错误:

This is not a JSON Primitive.

如何检查 oDevices.get(i) 是 json 对象还是字符串?

最佳答案

你总是得到原始值。

改变这个:

if (oDevices.get(i).getAsJsonPrimitive().isJsonObject()) {

if (oDevices.get(i).isJsonObject()) {

我也会改变这个:

if(oDevices.get(i).getAsJsonPrimitive().isString()) {

对此:

if(oDevices.get(i).isJsonPrimitive() && oDevices.get(i).getAsJsonPrimitive().isString()) {

// ----------------^ check if it's a json primitive before getting its value

关于java gson - 检查 JsonElement 是字符串还是 JsonObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53412786/

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