繁体   English   中英

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

[英]How to get a value from gson object by key

我一直在尝试按照这个解决方案如何从Java中找到JSON-string中的指定名称及其值?

但它似乎没有意义。

我从字符串中定义一个新的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

全班:主要课程: http//pastebin.com/v4LrZm6k电台课程: http//pastebin.com/2BWwb6eD

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

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

您已经告诉Gson要反序列化的类型,所以只需将gsonContent变量设为该类型即可

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

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


您也可以执行以下操作

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM