Android Kotlin:使用 Gson 将字符串序列化为 json 字符串

问题描述 投票:0回答:1

给定一个字符串,我想用Gson将其格式化为json字符串。

我期望从“email”得到“{“email”:“$email”}”

我显然可以做到

fun serializeUserEmail(email: String): String {
    return "{\"email\" : \"$email\"}"
}

这就是我目前正在做的事情,当然我也可以创建一个只有一个属性的“电子邮件”类并使用

Gson().toJson(Email())

但它们都不在我的期望之内。我想只用 Gson 来做,但不确定这是否真的可能。

我刚刚尝试过

Gson().toJson(strEmail)

无济于事。它只是返回相同的输入字符串,但内部带有双引号,例如“”电子邮件“”。

上面的函数(我目前正在使用的)完全没有问题,只是我试图用 Gson 替换与 json 序列化相关的所有内容。

android json kotlin serialization gson
1个回答
0
投票

我期望从“email”得到“{“email”:“$email”}”

这不是一个 JSON 字符串。那是一个 JSON 对象。请参阅JSON 文档维基百科,或有关 JSON 数据格式的任何其他资源。

它只是返回相同的输入字符串,但内部带有双引号,例如““email””。

如果

strEmail
"email"
,那么这就是正确的输出。
""email""
"email"
的 JSON 字符串表示形式。

只是我试图用 Gson 替换与 json 序列化相关的所有内容

那么你已经有了解决方案:

我还可以创建一个只有一个属性的“电子邮件”类并使用

Gson().toJson(Email())

请注意,除了错误修复之外,Gson 不再得到积极维护。据我了解,大多数最初的 Gson 开发人员现在都在为 Moshi 做出贡献。

© www.soinside.com 2019 - 2024. All rights reserved.