html 网络请求 json数据,写一个json格式API,http请求接收json数据
目前比较流行的公开API 大多都是返回json格式字符串。如何创建自己的基于http请求返回json数据的api?
如下:
返回JSON字符串的API
相关包:fastjson-1.2.2.jar
方式(一)基于SpringMVC
控制层Action代码:
@RequestMapping("/getJsonTest")
@ResponseBody
public String getJsonTest(HttpServletRequest request,
HttpServletResponse response) throws IOException {
JSONObject result = new JSONObject();
if(StringUtils.isBlank(request.getParameter("phone"))){
result.put("status", "0");
result.put("msg", "phone字段不能为空");
}else{
result.put("status", "1");
JSONArray onearray= new JSONArray();
JSONObject oneJsonObject= new JSONObject();
oneJsonObject.put("myMap1", "一个map");
oneJsonObject.put("myMap2", "一个map");
result.put("oneMap",oneJsonObject );
onearray.add(0, "一个llist第一条");
onearray.add(1, "第二条");
result.put("oneList", onearray );
result.put("msg", "测试");
}
return result.toJSONString();//返回的是一个json字符串
}
(二)直接用Selvlet 来实现:
public class JsonTestServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
JSONObject result = new JSONObject();
response.setContentType("text/html;charset=utf-8");
if(StringUtils.isBlank(request.getParameter("phone"))){
result.put("status", "0");
result.put("msg", "phone字段不能为空");
}else{
result.put("status", "1");
JSONArray onearray= new JSONArray();
JSONObject oneJsonObject= new JSONObject();
oneJsonObject.put("myMap1", "一个map");
oneJsonObject.put("myMap2", "一个map");
result.put("oneMap",oneJsonObject );
onearray.add(0, "一个llist第一条");
onearray.add(1, "第二条");
result.put("oneList", onearray );
result.put("msg", "测试");
}
response.getWriter().print(result.toJSONString());
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
网页打开:http://localhost:8081/XXX/getJsonTest
显示{"msg":"phone字段不能为空","status":"0"}
http://datachina.win/app1.5/appTestServlet?phone=15514390110
显示:
{"msg":"测试","oneList":["一个llist第一条","第二条"],"oneMap":{"myMap1":"一个map","myMap2":"一个map"},"status":"1"}
接收解析json数据
包:fastjson.
public static void main(String[] args) throws Exception {
Object result=esayGet("http://datachina.win/app1.5/appTestServlet?phone=15514390110", "utf-8");
System.out.println( result);
JSONObject object = JSONObject.parseObject(result.toString());
JSONArray array = JSONArray.parseArray(object.getString("oneList"));
JSONObject oneMap = JSONObject.parseObject(object.getString("oneMap"));
System.out.println(oneMap.get("myMap1"));
System.out.println(array.get(0));
}
{"msg":"测试","oneList":["一个llist第一条","第二条"],"oneMap":{"myMap1":"一个map","myMap2":"一个map"},"status":"1"} 一个map 一个llist第一条
html 网络请求 json数据,写一个json格式API,http请求接收json数据相关推荐
- 对tomcat来说,每一个进来的请求(request)都需要一个线程,直到该请求结束。
这段时间折腾了哈java web应用的压力测试,部署容器是tomcat 7.期间学到了蛮多散碎的知识点,及时梳理总结,构建良好且易理解的知识架构把它们组织起来,以备忘. 对web应用开发者来说,我们很 ...
- 如何写一个健壮且高效的串口接收程序?
正文:13923字 阅读时间:35分钟 建议先马后看 导读:学单片机的大概最先.最常写的通信程序应该就是串口程序了,但是如何写出一个健壮且高效的串口接收程序呢?接下来鱼鹰将根据多年的开发经验教你 ...
- controller接收json数据_答疑 | 前后端分离,如何接收json数据?
1.颜老师,在前后端分离的项目中,后端如何接收前端发来的json数据?我记得是@RequestBody,但有时候会报错. 答:当使用SpringMVC接收json数据时,需要区分json的数据格式,具 ...
- 自己动手写一个分库分表中间件(三)数据源路由实现
相关文章: 自己动手写一个分库分表中间件(一)思考 自己动手写一个分库分表中间件(二)数据源定义和分片代理层设计 排查项目中读写分离失效原因 小议 Java 内省机制 注:本文内容暂不涉及事务相关的问 ...
- 使用Node.js写一个简单的api接口
引入Http模块 默认你已经安装了Node.js Node当中内置了Http模块: 可以使用 var http= require("http"); 复制代码 引入http模块: H ...
- 用Python写一个简单的api接口
python框架有很多,例如:Flask,Django,FastAPI 等.本文将使用 Flask 来编写 API 接口. 安装Flask 首先,您需要安装 Flask: pip install fl ...
- [PHP]用PHP自己写一个zoomeye的api(偷懒必备quq)
0x01 起因 因为手速慢,漏洞刷不过别人,一个个手补确实慢,所以想自己写一个api,一键抓取zoomeye的20页,然后就可以打批量了 ovo(真是太妙了!) 0x02 动工 1.抓包做 ...
- 使用IO流将数据库中数据生成一个文件,结果使用Notepad++打开部分数据结尾出现NUL...
场景描述: 项目中通过java代码中从数据库中查询一系列数据,对数据做相应处理,然后通过字符流将数据写如一个新生成的文件中,将该项目部署在linux服务器上,最后生成的文件拿到本地使用notepad+ ...
- python github api_用python写一个GitHub Trending Api
GitHub 给了开发者相当丰富的 API 接口 https://developer.github.com/v3/,包括认证,搜索,活动等接口,但就是没有提供获取 Trending 的接口.因此,需要 ...
- 编写图形界面程序,接受用户输入的5个浮点数据和一个文件目录名,将这五个数据保存在该文件中,再从文件中读取出来并且进行从大到小排序,然后再一次追加保存在该文件中。
File(文件特征与管理):用于文件或者目录的描述信息,例如生成新目录,修改文件名,删除文件,判断文件所在路径等. InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有输入流的 ...
最新文章
- 一流科技CEO袁进辉:人工智能产业化困局和机遇 | 量子位·视点分享回顾
- 程序猿:喜欢与聪明的同事们在一起搞软件开发
- 第一次参加项目个人工作总结 (转)
- C#LeetCode刷题之#104-二叉树的最大深度​​​​​​​(Maximum Depth of Binary Tree)
- python更改当前工作路径
- MFC中使用自定义消息 .
- java tcp demo_详解Java使用TCP实现数据传输实例
- 【java学习之路】(javaWeb篇)008.VUE
- ITK简介与ITK Pipeline
- (day 36 - 滑动窗口)剑指 Offer 57 - II. 和为s的连续正数序列
- Php依赖其他模块,3. 强制模块依赖
- minimax算法和Alpha-Beta pruning实现英式跳棋
- 单片机学习笔记(持续更新中)
- 科技巨头们以 A 取名的时尚潮流
- poj 3268 Silver Cow Party(最短路dijkstra)
- 【操作系统】CPU是如何执行程序的?
- 操作系统的主要功能是什么
- 目标检测拉近镜头数据增强
- 中国队输球是有原因滴
- 解决win7和win8的64位系统安装NetAdvantage时总是提示%SystemDriver%inetpub\wwwroot错误的方法...
热门文章
- 一个好的大数据分析软件包含哪些功能
- linux安装python3.7
- 数据分析数据可视化(二)
- TypeScript算法专题 - [双链表1] - 双链的概念及其实现
- mysql常用的语句_MySQL常用语句集锦
- 客户端和服务器之间的信息结构,客户端和服务器之间的信息结构
- Spark内核解析之四:Spark 任务调度机制
- inteliJ maven 打包时把依赖的包一起打
- [笔记二]Essential JavaScript Design Patterns For Beginners
- Linux服务器---squid限制