java中http请求调用接口 传参为json格式

直接上代码

调用接口传参为application/json格式

 public String updateAqzxUser(TPolice tPolice, String Authorization,String depids,String id ) throws IOException {

        String uplevelArr = "";
        String con = "";
        for (String s : tPolice.getRoleids()) {
            uplevelArr += con + "\"" + s + "\"";
            con = ",";
        }


        final String CONTENT_TYPE_TEXT_JSON = "text/json";
        DefaultHttpClient client = new DefaultHttpClient();
        String jsonParams = "{  \"id\": \""+id+"\",\"name\":\"" + tPolice.getPoliceName() + "\",\"department\":\"" + tPolice.getOrgCode() + "\",\"contact\":\"" + tPolice.getTel() + "\",\"depids\":[ \""+depids+"\"],\"deviceCode\":\"\",\"idCard\":\"" + tPolice.getIdcard() + "\",\"password\":\"97047690c82e15930277c2ddba97647b\",\"pcard\":\"" + tPolice.getPoliceNum() + "\",\"photo\":\"\",\"roleids\":[" + uplevelArr + "],\"state\":1,\"featureList\":[],\"job\":[{\"code\":\"200001\",\"name\":\"民警\"}],\"isAdmin\":0,\"politicsStatusCode\":\"\",\"personalInformation\":\"\",\"jobDescription\":\"\"}";
        String url =  aqzxurl + "/user/editUser";
        //调用音频组地址
        HttpPost httpPost = new HttpPost(url);
        httpPost.setHeader("Authorization", Authorization);
        httpPost.setHeader("Content-Type", "application/json;charset=UTF-8");
        StringEntity se = new StringEntity(jsonParams, "UTF-8");
        se.setContentType(CONTENT_TYPE_TEXT_JSON);

        httpPost.setEntity(se);

        HttpResponse response2 = null;

        response2 = client.execute(httpPost);
        HttpEntity entity2 = null;
        entity2 = response2.getEntity();

        String s2 = EntityUtils.toString(entity2, "UTF-8");
//        JSONObject js01 = (JSONObject) JSONObject.parse(s2);
//        List<Map<String, Object>> list = (List<Map<String, Object>>) js01.get("data");

        System.out.println("===="+s2);
        return s2;
    }

这里传参有点多 通过字符串转义将参数转为application/json。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java调用HTTP接口传参JSON的步骤如下: 1. 创建一个HTTP连接对象,使用Java的URL类来实现。 2. 设置HTTP请求方法为POST,使用URLConnection类的setRequestMethod()方法来实现。 3. 设置HTTP请求头,包括Content-Type和Accept等信息,使用URLConnection类的setRequestProperty()方法来实现。 4. 创建一个JSON对象,将需要传递的参数封装到JSON对象。 5. 将JSON对象转换为字符串,使用JSON的toString()方法来实现。 6. 将字符串写HTTP请求,使用URLConnection类的getOutputStream()方法来实现。 7. 发送HTTP请求,使用URLConnection类的connect()方法来实现。 8. 获取HTTP响应,使用URLConnection类的getInputStream()方法来实现。 9. 将HTTP响应转换为字符串,使用IO流读取HTTP响应体数据,并将其转换为字符串。 10. 解析HTTP响应,根据业务需求对HTTP响应进行解析和处理。 以上就是Java调用HTTP接口传参JSON的基本步骤。 ### 回答2: 对于需要调用 HTTP 接口传参 JSONJava 开发者来说,可以使用 Java 提供的一些类库和框架来实现。 一种常用的方法是使用 Apache HttpClient 库来发送 HTTP 请求和接收 HTTP 响应。可以在项目添加以下 Maven 依赖: ```xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> ``` 然后可以使用以下代码来实现 HTTP POST 请求,并传递 JSON 数据: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import java.io.IOException; public class HttpClientDemo { public static void main(String[] args) throws IOException { try (CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost httpPost = new HttpPost("http://example.com/api"); String json = "{\"key1\":\"value1\",\"key2\":\"value2\"}"; StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON); httpPost.setEntity(entity); try (CloseableHttpResponse response = httpClient.execute(httpPost)) { HttpEntity responseEntity = response.getEntity(); System.out.println(responseEntity); } } } } ``` 在上面的代码,首先创建了一个 HttpPost 对象,并指定了 API 的地址。然后定义了一个 JSON 字符串,作为请求的参数。接着使用 StringEntity 封装了 JSON 数据,设置了 ContentType 为 APPLICATION_JSON。最后通过 httpClient.execute() 方法发送 HTTP POST 请求并接收响应。 此外,还可以使用其他的 HTTP 客户端类库和框架,例如: - OkHttp - Spring WebClient - Jersey Client 以上都提供了方便的 API,可以方便地实现 HTTP 请求和响应的处理。 ### 回答3: Java可以通过HTTP请求调用API接口,并且可以通过JSON格式来传递参数,实现前后端的数据交互。 1. JavaHTTP请求Java常用的HTTP请求类有URLConnection和HttpClient,其URLConnection是JDK自带的HTTP请求类,HttpClient则是一个第三方库,通过引相关的jar包即可使用。 2. JSON格式数据传递 在HTTP请求,可以使用JSON格式来传递数据,具体传递方法可以使用JavaJSONObject类或者第三方库如GSON来实现。具体传递参数的方法可以参考以下示例代码: HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(url); //设置请求头 post.setHeader("Content-Type", "application/json"); //构建请求体 JSONObject jsonObj = new JSONObject(); jsonObj.put("param1", "value1"); jsonObj.put("param2", "value2"); StringEntity entity = new StringEntity(jsonObj.toString(), "UTF-8");//设置编码格式 post.setEntity(entity); HttpResponse response = client.execute(post);//发送请求 int statusCode = response.getStatusLine().getStatusCode();//获取响应码 if (statusCode == HttpStatus.SC_OK) { String result = EntityUtils.toString(response.getEntity());//获取响应结果 } 以上代码通过设置请求头("Content-Type", "application/json")来告诉服务器请求体是JSON格式数据,然后通过JSONObject类构建请求体,并使用StringEntity将其转换为字符串格式,最后将请求体添加到HttpPost即可。请求发送后,通过HttpResponse获取响应结果,并将响应结果转换为字符串格式。 总结 Java调用HTTP接口传参JSON的的方法有很多,可以使用Java自带的HTTP请求类URLConnection,也可以选择使用第三方库HttpClient等。而JSON格式数据传递可以使用Java自带的JSONObject类或者第三方库如GSON进行处理。使用上述方法可以实现JavaHTTP请求JSON格式数据传递,进行前后端数据交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值