gpt4 book ai didi

带有 GSON 的 Java JSON

转载 作者:行者123 更新时间:2023-11-29 05:34:36 27 4
gpt4 key购买 nike

这就是问题所在,我正在使用 Wunderground 的天气 API,但在使用 GSON 获取天气时遇到了问题。

import java.net.*;
import java.io.*;
import com.google.gson.*;

public class URLReader {

public static URL link;

public static void main(String[] args) {
try{
open();
read();
}catch(IOException e){}
}

public static void open(){
try{
link = new URL("http://api.wunderground.com/api/54f05b23fd8fd4b0/geolookup/conditions/forecast/q/US/CO/Denver.json");
}catch(MalformedURLException e){}
}

public static void read() throws IOException{
Gson gson = new Gson();

// Code to get variables like humidity, chance of rain, ect...
}
}

就我所知,有人可以帮助我让这个东西工作吗?我需要能够解析特定变量,而不仅仅是整个 JSON 文件。

我使用了缓冲读取器,但它读取了整个 JSON 文件。

在此先感谢,我是初学者所以放轻松并非常简单地解释事情:)

最佳答案

您可以解析整个流,然后提取您需要的内容。这是解析它的示例:

    String url=getUrl();
JSONObject jsonObject = new JSONObject();
StringBuilder stringBuilder=new StringBuilder();
try
{
HttpGet httpGet = new HttpGet(url);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(httpGet);
HttpEntity entity = response.getEntity();
InputStream stream = entity.getContent();
int b;
while ((b = stream.read()) != -1) {
stringBuilder.append((char) b);
}

jsonObject = new JSONObject(stringBuilder.toString());

} catch (JSONException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
} catch (IOException e) { }

阅读它,你必须在表格中导航,就像这样:

jsonObject.getJSONObject("Results");

这是我使用这个库的一个程序的例子:

int statusCode=jobj.getJSONObject("info").getInt("statuscode");

我大量使用以下内容来确保正确:

jsonObject.names();

这将为您提供所有键的名称。从那里,您必须弄清楚它是数组、对象还是基本类型。我花了一点时间才把它做好,但一旦你做了一次,它就永远完成了,希望如此。看看the Android documents在他们的 JSON 库上。

关于带有 GSON 的 Java JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19966672/

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