我必须从帖子网址获取JSON。 这是我的网址 URl:link
结果处理后:
{
"success": false,
"error_code": null,
"data": {
"transaction_status": 0
}
}
当我点击此网址时,多个网址会在WebView
中显示一个长流程JSON响应后在内部进行调用。我需要通过点击此网址来获取此JSON响应,而不显示WebView
请有人帮我解决这个问题。
感谢
答案 0 :(得分:1)
将volley添加到项目中只需添加以下行。
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
获取json响应
private void sendRequest(){
StringRequest stringRequest = new StringRequest(JSON_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this,error.getMessage(),Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String json){
// here you can get json.
}
答案 1 :(得分:0)
请遵循本教程。
http://www.androidhive.info/2012/01/android-json-parsing-tutorial/
你需要使用Android API的HttpUrlConnection类来点击webservice,你可以用json字符串格式得到响应。
答案 2 :(得分:0)
http://www.itsalif.info/content/android-volley-tutorial-http-get-post-put
试试这个会有所帮助 您可以提出更多查询
答案 3 :(得分:0)
OP提供的 url (我的意思是@ dev_mg99)不包含“服务器端”重定向。
在“Javascript”执行后,网页上的JSON数据显示。
尽管我知道做 HTTP POST / GET (使用android中提供的任何方法)在这种情况下将无用,因为服务器返回“网页”和“不是JSON数据“。
(如果我错了,请纠正我。这样我就可以学习新东西了)
我想到的唯一可能的解决方案是:
1)在WebView中加载上述URL
2)继续检查WebView是否已“完全”加载
3)如果已完全加载提取WebView的“html”文本并获取所需的JSON文本。
不知道如何编码(2)......所以不能提供任何代码。
我是怎么知道的?
第1步: 打开(比如)google chrome上面的url。等待一段时间,您将看到该页面重定向到具有以下文本的网页:
{"success":false,"error_code":null,"data":{"transaction_status":0}}
看起来像一个JSON字符串。
第2步:停用浏览器的JavaScript(适用于谷歌浏览器:设置 - &gt;显示高级设置 - &gt;隐私...内容设置 - &gt; Javascript ...点击“不要让任何网站运行JavaScript”
第3步:现在,再次尝试在浏览器中打开上面的网址...页面不会在任何地方重定向。
根据我的结论,上面的URL被JavaScript重定向(不是从服务器端)