gpt4 book ai didi

java - 如何创建接收 Gson().fromJson() 的对象

转载 作者:行者123 更新时间:2023-12-02 11:42:17 25 4
gpt4 key购买 nike

我正在尝试使用名为 kolada 的 REST API。我遇到的问题是,当我尝试使用网络服务时,它不起作用。我到处寻找并尝试创建适用于正确 Json 格式的对象,但我无法弄清楚。它实际上并没有返回错误,只是返回 null。

这是我试图访问的网址: http://api.kolada.se/v2/municipality?title=lund

这是 api 的 Object_struct

{
"id": "<string>",
"title": "<string>",
"type": "L|K"
}

这是我创建的对象

public class search_string {
String id;
String title;
String type;


public String get_the_shit()
{

return id+title+type;
}
}

这是我尝试调用它的时候(我从 gui/Jframe 事件调用它)

try {


String url ="http://api.kolada.se/v2/municipality?title=lund";

InputStreamReader a = new InputStreamReader(new URL(url).openStream());

search_string b = new Gson().fromJson(a, search_string.class);

JOptionPane.showMessageDialog(this, b.toString());


}

catch (IOException ex) {
Logger.getLogger(WelcomeRESTXMLClientJFrame.class.getName()).log(Level.SEVERE, null, ex);
}

但它返回一个空字符串。

我不知道我做错了什么。我怀疑这是我的对象类。

有人可以帮忙或提供建议吗?

最佳答案

您需要容器类,并且必须定义 getter 和 setters 方法

{
"count": 1,
"values": [
{
"id": "1281",
"title": "Lund",
"type": "K"
}
]
}

映射此 json 的正确类是

public class MyClass {
private int count;
private List<MyOtherClass> values;

get*()
set(*)
}

public class MyOtherClass {

private String id;
private String title;
private String type;

get*()
set(*)
}

关于java - 如何创建接收 Gson().fromJson() 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48467760/

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