java 通过HTTP接收json

这篇具有很好参考价值的文章主要介绍了java 通过HTTP接收json。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一: json接收类,
第一个接口为直接传参接收
第二个接口接收json字符串
可以写个HTTP测试类调用测试,也可以postman测试调用,实例方法贴到下面

package com.gt.information.controller;

import com.alibaba.fastjson.JSONObject;
import com.gt.information.dao.DataDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/*

*/
@Controller
@RequestMapping("/DataController")
public class DataController {

@Autowired
private DataDao DataDao;

@RequestMapping(value = “apply”, method = RequestMethod.POST, produces = “application/json;charset=UTF-8”)
@ResponseBody

public Map<String, String> apply(@RequestBody String newMssage) {
//将获取的json字符串转换为JSONObject类型
JSONObject jsonObject = JSONObject.parseObject(newMssage);
//从JSONObject 对象中获取指定key(即这里的data)对应的值
String getDataJSBH = jsonObject.getString(“JSBH”);
String getDataIP = jsonObject.getString(“IP”);
String getDataDY = jsonObject.getString(“DY”);
String getDataDL = jsonObject.getString(“DL”);
String getDataDJZT = jsonObject.getString(“DJZT”);
List list = new ArrayList();
Map<String,Object> json = new HashMap<String, Object>();
json.put(“JSBH”,getDataJSBH);
json.put(“IP”,getDataIP);
json.put(“DY”,getDataDY);
json.put(“DL”,getDataDL);
json.put(“DJZT”,getDataDJZT);
list.add(json);
for (Map user : list) {
System.out.println(user.toString());
}
Map<String,String> map = new HashMap<String, String>();
int reNum = DataDao.insertDWJL(getDataJSBH,getDataIP,getDataDY,getDataDL,getDataDJZT);
if(reNum == 1){
map.put(“data”,“发送成功”);
map.put(“msg”,“ok”);
map.put(“code”,“200”);
return map;
}
map.put(“data”,“发送失败”);
map.put(“msg”,“ok”);
map.put(“code”,“777”);
return map;
}

//电网
@RequestMapping("/dw")
@ResponseBody
public Map<String,Object> dd_ddjlxx(HttpServletRequest request){
String getJSBH = request.getParameter(“JSBH”);
String getIP = request.getParameter(“IP”);
String getDY = request.getParameter(“DY”);
String getDL = request.getParameter(“DL”);
String getDJZT = request.getParameter(“DJZT”);
List list = new ArrayList();
Map<String,Object> json = new HashMap<String, Object>();
json.put(“JSBH”,getJSBH);
json.put(“IP”,getIP);
json.put(“DY”,getDY);
json.put(“DL”,getDL);
json.put(“DJZT”,getDJZT);
list.add(json);
for (Map user : list) {
System.out.println(user.toString());
}
Map<String,Object> map = new HashMap<String, Object>();
int reNum = DataDao.insertDWJL(getJSBH,getIP,getDY,getDL,getDJZT);
    if(reNum == 1){
        map.put("data","发送成功");
        map.put("msg","ok");
        map.put("code","200");
        return map;
    }
    map.put("data","发送失败");
    map.put("msg","ok");
    map.put("code","777");
    return map;
} 

二:HTTP工具类

package com.gt.common.util;

import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder;
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 org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import java.io.IOException;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**

*/
public class HttpClientUtil { public static String doGet(String url, Map<String, String> param) {

// 创建Httpclient对象
CloseableHttpClient httpclient = HttpClients.createDefault();

String resultString = “”;
CloseableHttpResponse response = null;
try {
// 创建uri
URIBuilder builder = new URIBuilder(url);
if (param != null) {
for (String key : param.keySet()) {
builder.addParameter(key, param.get(key));
}
}
URI uri = builder.build();
// 创建http GET请求
HttpGet httpGet = new HttpGet(uri);
// 执行请求
response = httpclient.execute(httpGet);
// 判断返回状态是否为200
if (response.getStatusLine().getStatusCode() == 200) {
resultString = EntityUtils.toString(response.getEntity(), “UTF-8”);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (response != null) {
response.close();
}
httpclient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return resultString;
}

public static String doGet(String url) {
return doGet(url, null);
}

public static String doPost(String url, Map<String, String> param) {
// 创建Httpclient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
String resultString = “”;
try {
// 创建Http Post请求
HttpPost httpPost = new HttpPost(url);
// 创建参数列表
if (param != null) {
List paramList = new ArrayList<>();
for (String key : param.keySet()) {
paramList.add(new BasicNameValuePair(key, param.get(key)));
}
// 模拟表单
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList);
httpPost.setEntity(entity);
}
// 执行http请求
response = httpClient.execute(httpPost);
resultString = EntityUtils.toString(response.getEntity(), “utf-8”);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
response.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return resultString;
}

public static String doPost(String url) {
return doPost(url, null);
}

public static String doPostJson(String url, String json) {
// 创建Httpclient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
String resultString = “”;
try {
// 创建Http Post请求
HttpPost httpPost = new HttpPost(url);
// 创建请求内容
StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);
httpPost.setEntity(entity);
// 执行http请求
response = httpClient.execute(httpPost);
resultString = EntityUtils.toString(response.getEntity(), “utf-8”);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
response.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return resultString;
}
}

三:Test测试类文章来源地址https://www.toymoban.com/news/detail-598263.html

package com.gt.jszd.analysis.controller;

/**

*/
import com.gt.common.util.HttpClientUtil;
import net.sf.json.JSONObject;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;
import org.apache.http.protocol.HTTP;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TestOne {
public static void main(String[] args) {
//JSONObject jsobj1 = new JSONObject();
JSONObject jsobj2 = new JSONObject();
Map<String, String> jsobj1 = new HashMap<String, String>();
/* map.put(“deviceID”, “112”);
map.put(“channel”, “channel”);
map.put(“state”, “0”);
map.put(“item”, “132564”);
map.put(“requestCommand”, “control”);
map.put(“FWQQ_NR”, “123”);*/
jsobj1.put(“JSBH”, “330200111”);
jsobj1.put(“DL”, “0.8A”);
jsobj1.put(“DY”, “2.5V”);
jsobj1.put(“DJZT”, “正常”);
jsobj1.put(“IP”, “192.168.2.135”);
/List list = new ArrayList();
list.add(jsobj1);/
jsobj2.put(“JSBH”, “330200222”);
    jsobj2.put("DL", "0.3A");
    jsobj2.put("DY", "2.2V");
    jsobj2.put("DJZT", "异常");
    jsobj2.put("IP", "192.168.1.135");
    //list.add(jsobj1);
    String url="http://192.168.1.135:8085/DataController/apply";
   // String url="http://192.168.1.135:8085/DataController/Test";
    //post(jsobj2, "http://192.168.1.135:8085/TestConttroller/apply");
    post(jsobj2, url);
    //HttpClientUtil.doPost(url, jsobj1);
    //HttpClientUtil.doPostJson(url, jsobj1.toString());
}


public static String post(JSONObject json, String path) {
    String result = "";
    try {
        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost(path);
        post.setHeader("Content-Type", "appliction/json");
        post.addHeader("Authorization", "Basic YWRtaW46");
        //StringEntity s = new StringEntity(json.toString(), "utf-8");
        StringEntity s = new StringEntity(json.toString(), "utf-8");
        s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "appliction/json"));
        post.setEntity(s);
        HttpResponse httpResponse = client.execute(post);
        InputStream in = httpResponse.getEntity().getContent();
        BufferedReader br = new BufferedReader(new InputStreamReader(in, "utf-8"));
        StringBuilder strber = new StringBuilder();
        String line = null;
        while ((line = br.readLine()) != null) {
            strber.append(line + "\n");

        }
        in.close();
        result = strber.toString();
        if (httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
            result = "服务器异常";
        }
    } catch (Exception e) {
        System.out.println("请求异常");
        throw new RuntimeException(e);
    }
    System.out.println("result==" + result);
    return result;
}
}

到了这里,关于java 通过HTTP接收json的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java解析多层嵌套json字符串

    在java 程序中,经常会涉及到各种变量值提取的问题,下面给出简单的示例及说明: JSON实际上也是键值对(\\\"key\\\":\\\"value\\\"),key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null) value如果是字符串,用jsonobj.getString(\\\"key\\\")获取 value如果是数

    2024年02月15日
    浏览(62)
  • Java中list转json字符串

    例子: 有一个实体类StudentInfo 放在一个List中,为List infoList; 现在需要把这个infoList 以字符串的形式存起来,示例如下: 下面示例代码为将入参infoList转为JSON字符串输出 下面示例代码为将JSON字符串转为List

    2024年02月09日
    浏览(51)
  • JAVA 字符串JSON Map 对象转化

    目录 字符串转JSON JSON 转字符串 json字符串转map 将map转成json字符串 map转对象 将对象转化成map 将对象转化成JSON Json转对象 方式一 第一步 将map 转成json字符串对象 第二步 将json字符串对象转化成对象 第一步 将对象转化成json字符串 第二步 将JSON字符串转成map 方法一:fastjson转

    2024年02月15日
    浏览(60)
  • Java中将json字符串导出为json文件【详细步骤】

    一、概述 请根据具体需求具体改动,此代码需要将前端的数据查询出来,然后进行json字符串的转化 .getCatalogId(id)方法是根据id查出来的内容然后再进行转换成json字符串 也可以直接传入json字符串进行测试 二、代码  三、使用postman进行测试 导出的文件在D盘temp文件夹下面 下面

    2024年02月06日
    浏览(41)
  • java对象与Json字符串的相互转换

    文章目录 1.Json对象转换为java 对象 2. Java对象转换JSON 1.Json对象转换为java 对象 导入jackson的相关jar包 创建Jackson核心对象 ObjectMapper 调用ObjectMapper的相关方法进行转换 2. Java对象转换JSON 常见的解析器:Jsonlib,Gson,fastjson,jackson 1.导入jackson的相关jar包 2.创建Jackson核心对象 Obj

    2024年02月09日
    浏览(59)
  • Java工具类——json字符串格式化处理

    在我们拿到一团未经格式化的json字符串时,非常不方便查看,比如这样 因此随手写了个工具类用来格式化json。注意,原json字符串必须语法无误,并且不包含换行、空格、缩进等,否则会保留下来。 ok废话不多说上代码 运行后效果

    2024年01月17日
    浏览(54)
  • java中对象转json字符串的常用方式

    1.使用Jackson库: Jackson是一个常用且功能强大的Java库,用于处理JSON数据。下面是使用Jackson将对象转换为JSON字符串的示例: 需要依赖: 2.使用Gson库: Gson是Google提供的一个Java库,它可以处理JSON数据的序列化和反序列化。以下是使用Gson将对象转换为JSON字符串的示例 相关依赖

    2024年02月07日
    浏览(48)
  • 【工具】java工具 xml字符串转json对象

    //json字符串

    2024年02月07日
    浏览(49)
  • 五分钟学会如何用java解析json字符串!

    在工作中我们常常使用json来存储和传输结构化的数据,如用户信息、配置信息等。它通常以string的方式进行传输,因此如何将string解析并得到我们想要的信息是一项必备且常用的功能。 JSON(JavaScript Object Notation)是一种轻量级的、基于文本的、与语言无关的数据交换格式,

    2024年02月11日
    浏览(42)
  • java将json字符串数据转换为List对象

    方法一:使用Jackson库 pom.xml文件中添加以下依赖: 转换之后直接可以用list操作了 方法二:使用Gson库 res: json格式的数据 方法二比方法一使用起来更简便一点

    2024年02月21日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包