我陷入了这个问题,如何在android studio中从URL解析json 下面是我的json结构尝试过的所有其他方法都不适合我
url:http://api.ipstack.com/109.94.137.130?access_key=e9e5de2c993dc6652ed45c3f9dc53daf
{
"ip":"109.94.137.130",
"type":"ipv4",
"continent_code":"EU",
"continent_name":"Europe",
"country_code":"GB",
"country_name":"United Kingdom",
"region_code":"ENG",
"region_name":"England",
"city":"Bedford",
"zip":"MK42",
"latitude":52.1073,
"longitude":-0.4649,
"location":{
"geoname_id":2656046,
"capital":"London",
"languages":[
{
"code":"en",
"name":"English",
"native":"English"
}
],
"country_flag":"http:\/\/assets.ipstack.com\/flags\/gb.svg",
"country_flag_emoji":"\ud83c\uddec\ud83c\udde7",
"country_flag_emoji_unicode":"U+1F1EC U+1F1E7",
"calling_code":"44",
"is_eu":true
}
}
有关此问题,请提供帮助。预先感谢。
答案 0 :(得分:1)
使用翻新或截击从API获取数据。 Sample Retrofit Implementation
使用GSON库来解析gson。而且,实施起来很容易。
解析代码段为:
ModelClass sInfo_parse = new Gson().fromJson(getURLJson, ModelClass.class);
答案 1 :(得分:-2)
在here的gradle文件中添加截击。现在,在您的Java文件中添加以下行。
RequestQueue queue = Volley.newRequestQueue(ChangePasswordActivity.this);
现在像下面的方法一样,在onCreate方法中调用StringRequest构造函数。
String Url = your url
Log.d(TAG, Url);
StringRequest stringRequest = new StringRequest(Request.Method.GET, Url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("response", response);
// here you can find your all json value.
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}
);
queue.add(stringRequest);
}