gpt4 book ai didi

java - 将json解析为Gson中的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:58:38 25 4
gpt4 key购买 nike

我有一个 json 字符串:

 {  
"id":123,
"name":"",
"details":{}
}

我想解析这个对象:

class Student {

int id;
String name;
String details;

}

这是我得到的错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx.xxx/xxx.xxx.MainActivity}: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected STRING but was BEGIN_OBJECT

我希望详细信息作为字符串而不是 JsonObject 的原因是我正在使用 Realm DB 对象并将其持久保存到数据库中。我如何告诉 Gson 我想要 details 作为字符串。

最佳答案

details{} 是一个对象而非字符串。除非您像这样引用它,否则它不会被解释为字符串:

{
"id":123,
"name":"",
"details":"{}"
}

GSON 告诉您“应为 STRING 但为 BEGIN_OBJECT”。这是有道理的,因为你给它一个带有名为 detailsString 属性的类型签名,但是你的序列化有一个名为 details 的属性包含一个空对象。

关于java - 将json解析为Gson中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31254967/

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