gpt4 book ai didi

java - 如何通过键从gson对象获取值

转载 作者:行者123 更新时间:2023-12-01 16:35:54 25 4
gpt4 key购买 nike

我一直在尝试遵循这个解决方案How to find specified name and its value in JSON-string from Java?

但是这似乎没有意义。

我从字符串定义一个新的 gson 对象:

此处的字符串示例:http://api.soundrop.fm/spaces/XJTt3mXTOZpvgmOc

public void convertToJson()
{
Gson gson = new Gson();
Object gsonContent = gson.fromJson( stringContent, RadioContent.class );
}

然后尝试返回一个值:

public Object getValue( String find )
{
return gsonContent.find;
}

最后它被调用:

public static void print( String find = "title" )
{
Object value = radioContent.getValue( find );

System.out.println( value );
}

但是我收到错误:

java: cannot find symbol
symbol: variable find
location: variable gsonContent of type java.lang.Object

完整类(class):主类:http://pastebin.com/v4LrZm6k广播类:http://pastebin.com/2BWwb6eD

最佳答案

这是Java。字段根据对象引用的声明类型进行解析。

根据您的编译器错误,gsonContentObject 类型的变量。 Object 没有 find 字段。

您已经告诉 Gson 反序列化为什么类型,因此只需将 gsonContent 变量设置为该类型即可

RadioContent gsonContent = gson.fromJson( stringContent, RadioContent.class );

此外,您似乎正在使用局部变量隐藏实例 gsonContent 字段。

<小时/>

您也可以执行以下操作

JsonObject jsonObject = gson.fromJson( stringContent, JsonObject.class);
jsonObject.get(fieldName); // returns a JsonElement for that name

关于java - 如何通过键从gson对象获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21636163/

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