项目中,接口之间传递数据是经常的,不管是项目内部接口传递数据,还是与外部系统之间接口传递数据,通过json都会较为容易一些,至于什么是json,自己goodle,百度吧。

在html中,使用ajax请求一个路径,请求方式为post,数据类型为json格式
上代码:

                    $.ajax({type : "POST",url : "./http_request/updateWtData.do",dataType : "json",//contentType : "application/json;charset=utf-8",data:{"data_json":json1},success : function(data) {if(data=="success"){alert(data)}else{alert(data)}}});

传递的数据类型为json格式,那json目前是有名称的(data_json),这样在后端,其实直接用“String str = request.getParameter(“data_json”);”就能获取到。
如果不知道json的名称,就麻烦了一下,如下面的代码。

上代码:

/*** 获取json后更新库中数据的接口* * @param request* @param name* @return*/@RequestMapping(value = "/updateWtData.do", method = RequestMethod.POST)public @ResponseBody String updateWtData(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {Map<String, String> map = new HashMap<String, String>()/** String str = "{\"contracts\":{},\"goods\":\"goods_id\":1011364,\"goods_type\":30100,\"goods_name\":{\"2\":\"4G飞享套餐\"}}";**///如果不知道JSON的名称,需要从字节流里面取值request.setCharacterEncoding("UTF-8");BufferedReader br = new BufferedReader(new InputStreamReader( request.getInputStream(),"utf-8"));String line = null;StringBuilder sb = new StringBuilder();while((line = br.readLine())!=null){sb.append(line);}//得到一个字符串,转换成json格式即可JSONObject a = JSONObject.fromObject(sb.toString());//我的具体业务,可以不参考 startmap.put("goods_id",JSONObject.fromObject(a.get("goods")).get("goods_id").toString());map.put("goods_name", (String)JSONObject.fromObject(JSONObject.fromObject(JSONObject.fromObject(a.get("goods")).get("goods_channel_tmp")).getJSONObject("goods_name")).values().toArray()[0]);int r = 0;Map<String,Object> count = httpRequestDao.countGoods(map);if((long)(Long)count.get("count") < 1){r = httpRequestDao.insertNewGoods(map);System.out.println("insert***********");}else{r = httpRequestDao.updateGoods(map);System.out.println("update***********");}//业务endSystem.out.println(r);return "200";}

ok,其实如上代码, 会比没有json名称麻烦些,所以,在接口定义的时候还是要确定一下json的名称为好。

代码有点乱,不过关键的地方还是很清晰的,我把自己的业务代码加进来了,其实主要是在下面的代码中,注意的是要规定好编码,否则json会把有些符号当做空格的。

     request.setCharacterEncoding("UTF-8");BufferedReader br = new BufferedReader(new InputStreamReader( request.getInputStream(),"utf-8"));String line = null;StringBuilder sb = new StringBuilder();while((line = br.readLine())!=null){sb.append(line);}//得到一个字符串,转换成json格式即可JSONObject a = JSONObject.fromObject(sb.toString());

谢谢!

使用JSON格式传递数据,获取JSON的值相关推荐

  1. java解析sql查询字段_sql解析json格式字段 如何获取json中某个字段的值?

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  2. Oracle怎么获取json类型字符串值,sql解析json格式字段 如何获取json中某个字段的值?...

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  3. python︱处理与使用json格式的数据(json/UltraJSON/Demjson)、pickle模块、yaml模块

    python种关于json有很多,simplejson,cjson,还有ujson(详细内容可见:http://blog.csdn.net/gzlaiyonghao/article/details/6 ...

  4. java jqgrid json格式_jqGrid 数据之 Json

    Json数据 需要定义jsonReader来跟服务器端返回的数据做对应,其默认值: · jsonReader : { ·      root: "rows", ·      pag ...

  5. php 接收curl json数据格式,curl发送 JSON格式POST数据的接收,以及在yii2框架中的实现原理【精细剖析】...

    1.通过curl发送json格式的数据,譬如代码: function http_post_json($url, $jsonStr) { $ch = curl_init(); curl_setopt($ ...

  6. hive 导出json格式 文件_hive支持json格式的数据

    Hive 支持完全 json 格式的数据  现有 json 格式的数据 test.txt ,如下 {"name":"zhang","age" ...

  7. android 网页json数据传输,如何将JSON格式的数据从WebView传递到HTML页面

    我试图将JSON格式的数据从我的Android WebView传递到HTML页面.但是,每当我尝试解析原始JSON数据时应用程序崩溃,我希望格式为{"key":"data ...

  8. 将对象mock填充数据 获取json格式对象,便于文档编辑

    将对象mock填充数据 获取json格式对象,便于文档编辑 <!--mock数据 java对象转json--><dependency><groupId>com.gi ...

  9. 调用python脚本并传递参数json格式_使用 Python 处理 JSON 格式的数据

    如果你不希望从头开始创造一种数据格式来存放数据,JSON 是一个很好的选择.如果你对 Python 有所了解,就更加事半功倍了.下面就来介绍一下如何使用 Python 处理 JSON 数据. JSON ...

最新文章

  1. 如何在php中插入map热点,PHP中使用BigMap实例
  2. python 调用c++返回char*
  3. 分布式数据库——TiDB的介绍和基本原理
  4. Linux下 运行Jmeter (含一个jmeter简单示例)
  5. 远程唤醒_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!
  6. 成为一个拥有优势的人(转)
  7. 晶振噪声及杂散_晶振如何匹配电容看了就知道
  8. 算法前戏 递归 二分查找 列表查找
  9. origin2016中怎么画多条曲线,并且分别给不同曲线设置标记
  10. 计算机一级考试第一套题电子表格,计算机等级考试一级上机试题(第一套)
  11. 华中科技大学计算机专业培养计划,2021年华中科技大学计算机科学与技术专业本科人才培养方案.doc...
  12. matlab jpeg 工具包,安装Matlab JPEG Toolbox
  13. 本机tomcat的server.xml被还原的问题及解决办法
  14. php ZeroMQ 的使用
  15. 梦笔记2022-2-10
  16. 好用的在线JSON编辑与格式化工具
  17. Google ExoPlayer播放器框架详解及应用实践
  18. 2022-2027年中国金融科技行业市场调研及未来发展趋势预测报告
  19. 抖音吸粉_抖音吸粉六大技巧
  20. try固定搭配_regret cease try等词的固定搭配用法

热门文章

  1. 【SpringBoot】33、SpringBoot+LayUI后台管理系统开发脚手架
  2. 配置NAT模式的网络连接
  3. Android 华为推送服务集成
  4. 2012系统sntp服务器,如何设置SNTP服务器,实现同步PLC时钟
  5. swig java_2019-02-01 使用swig转化C++到Java
  6. 黄瓜是绿色的,为什么没叫绿瓜?
  7. android 分析preference,Android中删除Preference详解
  8. [oeasy]python0095_乔布斯求职_雅达利_atari_breakout_打砖块_布什内尔_游戏机_Jobs
  9. 淘宝 npm 镜像站点已经切换新域名
  10. jjson - 支持注释的 json 和 javascript 对象解析之 Python 模块