0

我必须从帖子网址获取 JSON。这是我的网址 网址:链接

结果处理后:

{
"success": false,
"error_code": null,
"data": {
         "transaction_status": 0
        }
 }

当我点击这个 url 时,多个 url 在内部调用一个长的过程 JSON 响应将显示在WebView. 我需要通过点击这个 url 来获取这个 JSON 响应而不显示WebView

请任何人帮助我解决这个问题。

谢谢

4

4 回答 4

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.
}
于 2017-02-15T11:00:07.460 回答
0

请遵循本教程。

http://www.androidhive.info/2012/01/android-json-parsing-tutorial/

你需要使用android API的HttpUrlConnection类访问webservice,你可以得到json字符串格式的响应。

于 2017-02-15T10:46:15.177 回答
0

http://www.itsalif.info/content/android-volley-tutorial-http-get-post-put

试试这个,这将有助于您提出更多查询

于 2017-02-15T10:54:59.750 回答
0

OP(我的意思是@dev_mg99)提供的这个网址包含“服务器端”重定向
网页上的 JSON 数据在“Javascript”执行后出现。


据我所知,在这种情况下执行HTTP POST/GET(使用 android 中提供的任何方法)将毫无用处,因为服务器正在返回“网页”和“非 JSON 数据”。
(如果我错了,请纠正我。这样我才能学到新东西)

我想到的唯一可能的解决方案是:
1)在 WebView 中加载上述 url
2)继续检查 WebView 是否已“完全”加载
3)如果已完全加载 提取 WebView 的“html”文本并获取所需的 JSON 文本。

不知道如何编码(2)......所以无法提供任何代码。


我是怎么知道的?

第1步: 在(比如)谷歌浏览器中打开上面的网址。稍等片刻,您会看到页面重定向到带有以下文本的网页:

{"success":false,"error_code":null,"data":{"transaction_status":0}}

它看起来像一个 JSON 字符串。

第2步:禁用浏览器的JavaScript(对于谷歌浏览器:设置->显示高级设置->隐私...内容设置->Javascript...点击“不允许任何站点运行JavaScript”

第 3 步:现在,再次尝试在浏览器中打开上面的 url……页面不会重定向到任何地方。

据此,我得出结论,上面的 url 是由 JavaScript 重定向的(不是来自服务器端)

于 2017-02-15T12:19:37.620 回答