2 qq 31173597 qq_31173597 于 2016.05.09 19:47 提问

调用返回json的 web service接口

公司给了一个web service接口 ,只给了一个url ,并告诉是post请求, 以前没调用过 ,求大神们给个例子什么的。接口返回是json格式 我用from表单action提交那个url 结果是让我下载一个.json的文件,下载下来打开就是我想获得的json数据,这个接口该怎么调用啊。

7个回答

oyljerry
oyljerry   Ds   Rxr 2016.05.09 19:50
已采纳

直接发生http post请求。返回结果就是json数据

oyljerry
oyljerry 回复qq_31173597: 先看看是什么错误,是不是参数不对等
一年多之前 回复
qq_31173597
qq_31173597 我用ajax post 结果报错。
一年多之前 回复
showbo
showbo   Ds   Rxr 2016.05.09 19:52
CSDNXIAON
CSDNXIAON   2016.05.09 19:52

jQuery以json格式调用 Web Service
android 调用 返回json格式的 web service java
使用JQuery + JSON 调用Web Service
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

wmxcn2000
wmxcn2000   Rxr 2016.05.09 20:02

参数格式,也要告诉你的。

u012377333
u012377333   Rxr 2016.05.09 20:13

比如我是用jquery的ajax函数:

<script type="text/javascript">
 function get_prov() {
            $.ajax({
                type: "post",
                url: "page/basic_data/inst_apply/GetProv.action",
                dataType: "json",
                //data: {"userId": userId},
                success: function(data) {
                    var d = eval("(" + data + ")");
                    for (var i = 0; i < d.length; i++) {
                        var id = d[i].addressCode;
                        var name = d[i].addressName;
                        var opt = "<option value='" + id + "'>" + name + "</option>";
                        $("#provId").append(opt);
                    }
                },
                error: function() {
                    alert("<%=SysTextConfig.getConfigInfo("sys_err_1")%>");
                }
            });

        }

        $(document).ready(function() {
            get_prov();
        });
qq_34920350
qq_34920350   2016.05.10 09:15

像这样的你看下可不可以用

    public void getList(){
        list.clear();

        new Thread(new Runnable() {
            @Override
            public void run() {
                // TODO Auto-generated method stub
                try {
                    HttpClient httpClient=new DefaultHttpClient();
                    HttpPost post=new HttpPost(MainActivity.path+"ChoiceSer");
                    HttpResponse response=httpClient.execute(post);
                    if(response.getStatusLine().getStatusCode()==200){
                    //获取jsonarray
                        HttpEntity entity=response.getEntity();
                        JSONArray array=new JSONArray(EntityUtils.toString(entity));
                        JSONObject object=null;
                        for (int i = 0; i < array.length(); i++) {
                            object=array.getJSONObject(i);
                            //分装类
                            Can can=new Can();
                            //通过object.get("key").toString()获取响应键的值
                            can.setId(Integer.valueOf(object.get("id").toString()));
                            can.setSubject(object.get("subject").toString());
                            right=object.get("Translation1").toString();
                            can.setTranslation1(right);
                            can.setTranslation2(object.get("Translation2").toString());
                            can.setTranslation3(object.get("Translation3").toString());
                            can.setTranslation4(object.get("Translation4").toString());
                            list.add(can);
                        }
                        Message msg=new Message();
                        msg.what=1;
                        handler.sendMessage(msg);
                    }
                } catch (ClientProtocolException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (ParseException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }).start();
    }
sxwws
sxwws   2016.05.10 09:45

提供给你我写的片段代码。

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

// 执行远程call调用
Client client = ClientBuilder.newClient();
WebTarget call_target = client.target(callUrl);
Response response = call_target.request(MediaType.APPLICATION_JSON).post(
Entity.entity(excuteCallRequestJson, MediaType.APPLICATION_JSON));
// 获取响应Code
int responseCode = response.getStatus();
// 如果响应成功,则获取响应Json内容,并且将执行结果置成true
if (responseCode == 200) {
String excuteRespJson = response.readEntity(String.class);
context.setExcuteRespJson(excuteRespJson);
System.out.println("excute responseJson=====" + context.getExcuteRespJson());
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!