我必须使用org.json库创建JSON解析器以将从url接收的数据保存到JSON对象中,并且只使用java标准库但我不知道如何连接到那些
String line = "326";
URL oracle = new URL("https://api.tfl.gov.uk/Line/"+line+"/Arrivals?app_id=&app_key=");
BufferedReader in = new BufferedReader(
new InputStreamReader(oracle.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
这是我的连接代码
答案 0 :(得分:0)
我的建议是使用像杰克逊这样的JSON解析器。
如果您需要更多帮助,请告诉我,我可以提供帮助。
答案 1 :(得分:0)
使用像okhttp这样的http客户端库来发出请求并获取字符串正文。
然后使用像Jackson这样的json解析器将接收到的字符串解析为Json对象。
使用okhttp如下:
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(url)
.build();
Response resp = client.newCall(request).execute();
String response = resp.body().string();
获得响应字符串后,可以使用Jackson ObjectMapper从中创建jsonNode,如下所示
ObjectMapper mapper = new ObjectMapper();
JsonNode tree = mapper.readTree(response);
或者通过将响应解析为
来获取您定义的POJOYourClass mappedPOJO = mapper.readValue(response, YourClass.class);
让我们说你传入的json是
{
"key1":"value1",
"key2": {
"key3":"value3"
}
}
然后tree.get("key1")
为您提供“value1”,
tree.get("key1").get("key2")
为您提供“value3”