如何从post url获取json数据

时间:2017-02-15 10:39:37

标签: android webview payment-gateway auth-request

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

结果处理后:

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

当我点击此网址时,多个网址会在WebView中显示一个长流程JSON响应后在内部进行调用。我需要通过点击此网址来获取此JSON响应,而不显示WebView

请有人帮我解决这个问题。

感谢

4 个答案:

答案 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重定向(不是从服务器端)