如何在Java中获取此JSON值?

时间:2016-07-04 07:19:00

标签: java android json

我很困惑如何获取这个JSON值,我试过但我不确定:

这是我的JSON网址:

JSONObject ishu=new JSONObject(String url);//URL OF MY JSON!!
JSONObject COORD=ishu.getJSONObject("coord");
String LON=1.getString("lon");
String LAT=1.getString("lat");

JSONObject ishu1=ishu.getJSONObject("weather");
JSONArray jsonarray=new JSONArray(jsonStr);

for(int i=0;i<jsonarray.length();i++)
{
  JSONObject jsonobject=jsonarray.getJSONObject(i);
  String id=jsonobject.getString("id");
  String main=jsonobject.getString("main");
  Stirng description=jsonobject.getString("description");
  String icon=jsonobject.getString("icon");
}

JSONObject ishu2=ishu.getJSONObject("base");
String MAIN=ishu.getString("main");
String TEMP=MAIN.getString("temp");
String PRESSURE=MAIN.getString("pressure");
String HUMIDITY=MAIN.getString("humidity");
String TEMP_MIN=MAIN.getString("temp_min");
String TEMP_MAX=MAIN.getString("temp_max");

JSONObject WIND=ishu.getJSONObject("wind");
String SPEED=WIND.getString("speed");
String DEG=WIND.getString("deg");
String GUST=ishu.getString("gust");

JSONObject ishu4=ishu.getJSONObject("rain");
JSONObject 1H=ishu4.getJSONObject("1h");

JSONObject ishu5=ishu.getJSONObject("clouds");
String ALL =ishu5.getString("all");

JSONObject ishu6=ishu.getJSONObject("dt");
String SYS=ishu.getString("sys");
String TYPE=SYS.getString("type");
String ID=SYS.getString("id");
String MESSAGE=SYS.getString("message");
String COUNTRY=SYS.getString("country");
String SUNRISE=SYS.getString("sunrise");
String SUNSET=SYS.getString("sunset");

JSONObject ishu7=ishu.getJSONObject("id");
JSONObject ishu8=ishu.getJSONObject("name");
JSONObject ishu9=ishu.getJSONObject("cod");

这就是我试图获取json值的方法。

cognitoUser.signOut();

2 个答案:

答案 0 :(得分:0)

使用RestFul服务(默认HttpUrlConnection / Volly库)下载您的JSon文件,并将下载的字符串提供给您编码的上方。

更好地使用任何解析工具,然后手动执行。 http://blog.takipi.com/the-ultimate-json-library-json-simple-vs-gson-vs-jackson-vs-json/

GSon易于使用,而且来自谷歌。

简单如下

ModelClass object = new Gson().fromJson(JsonString, ModelClass.class);

答案 1 :(得分:0)

您似乎首先需要从api.openweathermap.com获得回复。

 URL url= new URL("<your url here>");
 HttpURLConnection connnection = (HttpURLConnection) url.openConnection();
 connnection.setRequestMethod("GET");
 InputStream is = connnection.getInputStream();

is读取您的JSON,之后您可以执行JSONObject obj = new JSONObject(<your string here>);