gpt4 book ai didi

java - 以class为参数的Gson.fromJson和以Type为参数的Gson.fromJson有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-04 06:55:22 26 4
gpt4 key购买 nike

我试图解析一个结构如下的 Json 对象:

{
"something@email.com": {
"data1": {
"fullName": "Mr X Y",
"givenName": "X"
},
"data2": {
"age": "70",
"gender": "Male"
},
"data3": [
{
"typeId": "xyz",
"url": "xyz.com"
}
],
"status": 200,
},
"anotherThing@email.com": {
"data1": {
"fullName": "Mr A B",
"givenName": "A"
},
"data2": {
"age": "20",
"gender": "Male"
},
"data3": [
{
"typeId": "abc",
"url": "abc.com"
}
],
"status": 200,
}
}

我创建了一个bean TempBean有一个字段Map<String, Person> ,与 Person作为另一个被适当定义来接受 Json 的 bean。

我尝试过:

Gson.fromJson(data, TempBean.class)

但无法解析。也尝试过Map.class并接受了Map<String, Person> ,但无法解析。

但是,当我使用时:

Type dataType = new TypeToken<Map<String, Person>>() {}.getType();

然后,

Map<String, Person> tempMap = Gson.fromJson(data, dataType); 

我可以解析它..!

我想知道这两种方法有什么区别,以及我还应该知道什么才能清楚地了解这一切。

最佳答案

Google的官方解释是here .

关于java - 以class为参数的Gson.fromJson和以Type为参数的Gson.fromJson有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22818973/

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