gpt4 book ai didi

java - GSON,禁用特定字段/变量的反序列化并将 json 保存为字符串

转载 作者:行者123 更新时间:2023-12-01 11:06:08 32 4
gpt4 key购买 nike

反序列化后如何从变量tags获取JSON字符串?

json 文件为例:

{
"first_name": "John",
"last_name" : "Well",
"tags": {"1001": "author", "1002": "signer"}
}

类人:

Class Person{
String first_name;
String last_name;

String tags; // here should be json as string
}

调用反序列化json函数的方法。

GsonBuilder builder = new GsonBuilder();
Gson gson = builder.create();
gson.fromJson(txt, Person.class);

错误:

10-04 07:33:28.035 26156-26481/pl.xxxE/AndroidRuntime: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 4 column 9

** 更新 1 **

@dtx12 的回答:

Class Person{
String first_name;
String last_name;
JSONObject tags; // but result {}
}

此外,由于结果为空,该答案也没有帮助。但这样的反序列化进程应该停止......我正在谈论使用移动应用程序反序列化 1000 多个对象的性能。

最佳答案

使用JsonObject而不是String,然后在此字段上调用方法toString()(例如,您可以为此目的创建getter)

关于java - GSON,禁用特定字段/变量的反序列化并将 json 保存为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32933582/

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