如何使用 Gson 将简单对象转换为字符串? [关闭]

Posted

技术标签:

【中文标题】如何使用 Gson 将简单对象转换为字符串? [关闭]【英文标题】:How to use Gson to convert simple object to string? [closed] 【发布时间】:2021-10-03 23:52:24 【问题描述】:

这是我收到的 JSON。

data:[
    ...
    casts:[
        
            name:"Jack"
        ,
        
            name:"Mary"
        ,
        
            name:"Jane"
        ,
    ],
    ...
]

当然,它需要通过 javaBean 接受 JSON,如:

data class Movie(
    ...
    val casts:List<Cast>,
    ...
)

Cast 类是一个简单的字符串,所以我想接受 JSON 格式

data class Movie(
    ...
    val casts:List<String>,
    ...
)

有可能吗?

【问题讨论】:

你不能用简单的字符串替换它。您的对象的结构是name: &lt;value&gt;,因此您需要一个类型来匹配该结构。 [name: "Jack"] 不同于 ["Jack"] 【参考方案1】:

你在你的 json 中有一个List&lt;Cast&gt;,而Cast 类是一个简单的String,所以你可以做的是获取Cast 的列表,然后获取list[index].name 来获取String

如果你想要List&lt;String&gt;,你应该把它写成json

[
  "Jhon",
  "Anne",
  "Carl"
]

那么你就可以这样做了:

val gson = GsonBuilder().create()
val list = gson.fromJson<ArrayList<String>>(stringObject, object :TypeToken<ArrayList<String>>().type)

【讨论】:

以上是关于如何使用 Gson 将简单对象转换为字符串? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

gson和fastjson将json对象转换成javaBean 简单对照

java中如何将对象转成json格式字符串

Kotlin 使用 Gson 将 json 字符串转换为对象列表

如何使用 GSON 将 List 转换为 JSON 对象?

如何将Java对象转换为JSON(Gson)?

如何使用Gson将对象转换为String