实现api返回json数据并在调用api时处理json数据
json数据如下
"name": [{"age": 25,"height": 160,"weight": 100,"email": "1946898935"},{"age": 26,"height": 178,"weight": 140,"email": "1234567"}],"address": [{"addressname": "福州市"},{"addressname": "厦门市"}]
}
下面的代码是访问一个页面并同时调用一个api;
@RequestMapping("/myapitest")//url映射地址public ModelAndView apitest(){/* *这是一个页面访问urlmapping***/
// System.out.println(mysendGet("http://localhost:8080/weidaiTest/testapi","param=p"));String s = mysendGet("http://localhost:8080/weidaiTest/testapi","param=p");//通过mysendGet函数调用接口JSONObject json = JSONObject.fromObject(s);//将字符串转化为json对象JSONArray jary = json.getJSONArray("name");//去到name对应的数组System.out.println(JSONObject.fromObject(jary.get(0)).get("email"));//数组内部的元素是对象,见上面的ison数据,对应到eamil的1946898935ModelAndView mv = new ModelAndView("test");//要返回到浏览器的页面return mv;}
以下是调用接口的函数
public static String mysendGet(String url, String param) {String result = "";BufferedReader in = null;try {String urlNameString = url + "?" + param;
// System.out.println("请求地址是"+urlNameString);URL realUrl = new URL(urlNameString);// 打开和URL之间的连接URLConnection connection = realUrl.openConnection();// 设置通用的请求属性// 建立实际的连接connection.connect();// 定义 BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;while ((line = in.readLine()) != null) {System.out.println(line);result+=line;}System.out.println("String在mysendget:"+result);System.out.println("JSONObject在mysendget:"+JSONObject.fromObject(result));} catch (Exception e) {System.out.println("发送GET请求出现异常!" + e);e.printStackTrace();}// 使用finally块来关闭输入流finally {try {if (in != null) {in.close();}} catch (Exception e2) {e2.printStackTrace();}}return JSONObject.fromObject(result).toString();//可以直接返回result}
下面是一个极其简易的接口,接口返回的是json格式的字符串
@RequestMapping(value="/testapi",method=RequestMethod.GET)@ResponseBodypublic String testapi(HttpServletRequest req,HttpServletResponse rpon){/* *这是一个接口***/
// System.out.println("调用了接口testapi并且获取到了参数param="+req.getParameter("param"));String s = "{\"name\":[{\"age\":25,\"height\":160,\"weight\":100,\"email\":\"1946898935\"},{\"age\":26,\"height\":178,\"weight\":140,\"email\":\"1234567\"}],\"address\":[{\"addressname\":\"福州市\"},{\"addressname\":\"厦门市\"}]}";//JSONObject json = JSONObject.fromObject(s);return s;}
实现api返回json数据并在调用api时处理json数据相关推荐
- 获得淘宝app商品详情原数据 API 返回值说明(item_get_app-淘宝app商品详情原数据)
以下是获得淘宝商品详情 API 返回值说明.简单调用示例. 需要更多了解和测试调用请移步 http://console.open.onebound.cn/console/?i=Turbo API可输出 ...
- 【HMS Core】运动健康服务获取上床时间api返回 resultCode:1001 data:api permission exception
问题描述: DATA_SESSION_CORE_SLEEP_BED 在运动健康app上手动输入的睡眠时间 获取睡眠详情可以获取到数据,但是获取上床时间api返回 resultCode:1001 da ...
- 时间维度表数据制作(调用API接口)
学习电商数仓搭建时,遇到创建DIM层的时间维度表.这里时间维度表数据是十分固定的(一年一更新),要将这些数据提出出来生成文件以便导入DIM层的时间维度表中. 我们可以调用网络上免费的节假日API来实现 ...
- php如何调用api接口简单,在PHP中调用API接口|Post数据的方法
PHP中调用接口 如:http://localhost/operate.php?act=get_user_list&type=json 在这里operate.php相当于一个接口,其中get_ ...
- 在SAP API hub自动生成使用ABAP调用API的胶水代码
登录api.sap.com, 找到自己想用ABAP调用的API: API References里,点击Code Snippt, 即可看到API Hub自动生成的使用ABAP调用该API的代码: 要获取 ...
- 海康API返回Json值获取
1.登录海康的管理平台,测试API,获取返回的Json字符串 2.将json字符串贴到如下网站中: http://www.bejson.com/convert/json2csharp/ ,将生成的类拷 ...
- python调用api做用户登录认证_(二)Python调用Zabbix api之从入门到放弃——登录并获取身份验证令牌...
x.x.x.x可能是你的IP或者域名 访问流程概览: 1.首先登录 2.认证成功后zabbix server返回一个token 3.带着这个token去访问各种数据,做各种操作 4.完毕! 一.用RE ...
- 淘口令真实url API 返回值说明
以下是淘宝/天猫获得淘宝商品详情 API 返回值说明.简单调用示例. 需要更多了解和测试调用请移步 http://console.open.onebound.cn/console/?i=Turbo A ...
- 淘宝/天猫邻家好货 API 返回值说明
以下是淘宝邻家好货API 返回值说明.简单调用示例. 需要更多了解和测试调用请移步 http://console.open.onebound.cn/console/?i=Turbo API可输出JSO ...
最新文章
- TensorFlow中的Fashion MNIST图像识别实战
- flash TweenMax用法
- Hurst指数以及MF-DFA
- Android 笔记之 R 文件
- CF908G New Year and Original Order 数位DP
- 新手也能学会本地调试微信,natapp 官网映射
- else应输入一个语句是什么意思_Python学习基础篇 -4: Python中的转弯---分支语句
- 【debug】UnboundLocalError local variable a referenced before assignment
- linux open出现乱码,OpenStack 数据库中文乱码问题
- 朝九晚五的工作值得留恋吗?
- select支持手动输入
- CR, LF, CR/LF 回车 换行
- 学校源码php,闪灵CMS学校建站系统(含小程序) v5.0 bulid20200319_php免费源码
- 晶振工作原理与元件选型
- 基于ASP.NET的图书在线销售管理系统设计与实现
- Linkerd 2.11 服务网格Service Mesh 开箱
- android控制创维电视,创维电视怎么连接手机 创维电视连接手机的方法【详细介绍】...
- 读书笔记-《我的第一本算法书》
- 安装Apache Hadoop2.7.1教程
- 基于传感器的人体生命体征监控技术