Java Gson .add 函数不采用 String 参数(maven 项目)

标签 java maven gson

所以这是我在intellij中遇到的一个非常非常奇怪的错误,如果我实例化一个JsonArray(在gson库中),它只有一个需要JsonElement作为参数的.add方法。

JsonArray foo = new JsonArray();

for (String bar : this.baz) {
    foo.add(bar); // .add throws this error: java: incompatible types: java.lang.String cannot be converted to com.google.gson.JsonElement
}

顺便说一句,这是一个使用以下 gson 依赖项的 Maven 存储库:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>LATEST</version>
    <scope>compile</scope>
</dependency>

最佳答案

如果 add() 需要 JsonElement 则使用:

foo.add(new JsonPrimitive(bar))

Gson 2.8.2 提供了接收简单字符串的 add() 重载版本。

关于Java Gson .add 函数不采用 String 参数(maven 项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52093957/

相关文章:

java - MyBatis - 一对多 - 未为映射列设置值

java - 通知错误 "The method setProgress(int, int, boolean) is undefined for the type NotificationCompat.Builder"

java - exec-maven-plugin exec :java failing: Cannot assign configuration values to array of type java. lang.String

java - 我试图从 jsp 文件调用 servlet 来执行业务逻辑并返回到同一页面

mysql - 如何在不清除数据库的情况下重新加载 Roo 项目?

java - JsonReader 在数组末尾停止读取

java - grails 中的 native CXF 集成

java - 在排序文件中使用二进制搜索超快速自动完成(300000 行)

java - 如何使用gson序列化Pair的ArrayList

java - Retrofit 2.0 无法解析Json嵌套对象