HttpURLConnection传json
private static String sendToWangTing(DataRow dataRow) throws IOException{
String ip = Configuration.getString("JZWangTing.ip");
String port = Configuration.getString("JZWangTing.port");
String service_id = Configuration.getString("JZWangTing.service_id");
String url = Configuration.getString("JZWangTing.url");
Map REQUESTS=new HashMap<String,String>();
List list=new ArrayList();
Map REQ_MSG_HDR=new HashMap<String,String>();
REQ_MSG_HDR.put("OP_CODE", ""); //服务号
REQ_MSG_HDR.put("OP_WAY", ""); //服务号
REQ_MSG_HDR.put("MSG_ID", service_id); //服务号
REQ_MSG_HDR.put("OP_LANGUAGE", ""); //服务号
REQ_MSG_HDR.put("OP_CHANNEL", dataRow.get("channel_no")); //渠道号
REQ_MSG_HDR.put("SESSION_ID", ""); //sessionID
Map REQ_COMM_DATA=new HashMap<String,String>();
REQ_COMM_DATA.put("USER_CODE", dataRow.get("user_uuid")); //用户唯一码
REQ_COMM_DATA.put("service", service_id); //服务号
REQ_COMM_DATA.put("CUST_CODE", dataRow.get("client_id")); //客户号
REQ_COMM_DATA.put("ACCESS_CHANNEL", dataRow.get("channel_no")); //渠道编号
REQ_COMM_DATA.put("ORGID", dataRow.get("branch_no")); //营业部编号
Map map1=new HashMap<String, Object>();
map1.put("REQ_MSG_HDR", REQ_MSG_HDR);
map1.put("REQ_COMM_DATA", REQ_COMM_DATA);
//list.add(map2);
list.add(map1);
REQUESTS.put("REQUESTS",list);
String date =JSONObject.fromObject(REQUESTS).toString();//转化成json
System.out.println(date);
String returninfo = "";
URL httpUrl = new URL("http://"+ip+":"+port+url);
HttpURLConnection huc = (HttpURLConnection) httpUrl.openConnection();
huc.setRequestMethod("POST");
huc.setDoInput(true);
huc.setDoOutput(true);
huc.setRequestProperty("Content-Type", "application/json");
//链接地址
huc.connect();
OutputStreamWriter writer = new OutputStreamWriter(huc.getOutputStream());
//发送参数
writer.write(date);
//清理当前编辑器的左右缓冲区,并使缓冲区数据写入基础流
writer.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(huc.getInputStream(),"UTF-8")) ;
String line;
Map js;
while ((line = br.readLine()) != null) {
returninfo = line;
js=(Map)JSONObject.fromObject(returninfo);
System.out.println(js.toString());
}
huc.connect();
br.close();
return returninfo;
}
发送数据:
{"REQUESTS":[{"REQ_COMM_DATA":{"USER_CODE":"EF48C567B74E4F8D952628EEDAF2C765","service":"B110004","CUST_CODE":"10100564286","ACCESS_CHANNEL":"1","ORGID":"0101"},"REQ_MSG_HDR":{"OP_WAY":"1","OP_CODE":"8888","MSG_ID":"B110004","OP_LANGUAGE":"1","SESSION_ID":"","OP_CHANNEL":"3"}}]}
返回数据
{"ANSWERS":[{"ANS_MSG_HDR":{"MSG_CODE":"999","MSG_TEXT":"","MSG_LEVEL":"","RESULT_NUM":"2","MSG_ID":"","PACKAGE_FLAG":"0","DATA_ROWS":"0","BPM_ROWS":"0","RUN_TIMES":"\"null\"","MSG_TRACE":""},"ANS_COMM_DATA":[{"BPM_DATA":[]},{"CONFIG":{}}]}]}
HttpURLConnection传json的更多相关文章
- HttpURLConnection传JSON数据
try { //创建连接 URL url = new URL(url); HttpURLConnection connection = (HttpURLConnection) url.openConn ...
- 原生js封装ajax:传json,str,excel文件上传表单提交
由于项目中需要在提交ajax前设置header信息,jquery的ajax实现不了,我们自己封装几个常用的ajax方法. jQuery的ajax普通封装 var ajaxFn = function(u ...
- 【代码笔记】iOS-向服务器传JSON数据的两种方式
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
- 后台给前台传JSON字符串,前台解析并拼接显示
后台传JSON public class CourseType : IHttpHandler { Epoint.PeiXun.Bizlogic.BLL.CourseLibrary.PX_CourseT ...
- ajax往后台传json格式数据报415错误
问题描述: ajax往后台传json格式数据报415错误,如下图所示 页面代码 function saveUser(){ var uuId = document.getElementById(&quo ...
- [iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数
A.上传JSON 1.思路: 必须使用POST方法才能上传大量JSON数据 设置请求头:设置Content-Type 设置请求体,JSON实际相当于字典,可以用NSDictionary NSJSONS ...
- Retrofit 2.0 超能实践(三),轻松实现文件/多图片上传/Json字符串
文:http://blog.csdn.net/sk719887916/article/details/51755427 Tamic 简书&csdn同步 通过前两篇姿势的入门 Retrofit ...
- python接口自动化-传 json 参数
一.post请求有两种方法传json参数: 1.传json参数(自动转 json ) 2.传data参数(需 json 转换) 代码参考: payload = { "Jodie": ...
- POST 上传 JSON 数据
// // ViewController.m // 03-post上传json // // Created by jerry on 15/10/10. // Copyright (c) 2015年 j ...
随机推荐
- python 锁 信号量 事件 队列
什么是python 进程锁? #同步效率低,但是保证了数据安全 重点 很多时候,我们需要在多个进程中同时写一个文件,如果不加锁机制,就会导致写文件错乱 这个时候,我们可以使用multiprocess ...
- Contest 4
A:cf原题.当然是不是也没什么关系. #include<iostream> #include<cstdio> #include<cstdlib> #include ...
- DjangoORM创建表结构以及生成数据库结构
1. ORM的两种 DB first: 创建表结构--根据表结构生成类-----根据类来操作数据库 Code first: 先写代码------再写类----执行命令(一个类生成一个表)当前主流的用法 ...
- 【容斥原理,莫比乌斯反演】用容斥替代莫比乌斯反演第二种形式解决gcd统计问题
名字虽然很长.但是其实很简单,对于这一类问题基本上就是看你能不能把统计的公式搞出来(这时候需要一个会推公式的队友) 来源于某次cf的一道题,盼望上紫的我让潘学姐帮我代打一道题,她看了看跟我说了题解,用 ...
- 洛谷 P1325 雷达安装 解题报告
P1325 雷达安装 题目描述 描述: 假设海岸线是一条无限延伸的直线.它的一侧是陆地,另一侧是海洋.每一座小岛是在海面上的一个点.雷达必须安装在陆地上(包括海岸线),并且每个雷达都有相同的扫描范围d ...
- [CodeVs1515]跳(lucas定理+费马小定理)
嘿嘿嘿好久没写数学题了,偶尔看到一道写一写... 题目大意:一个(n+1)*(m+1)[0<=n, m<=10^12,n*m<=10^12]的矩阵,C(0,0)=1,C(x,y)=C ...
- 课程14:get和post是神马
http://www.codeschool.cn/lesson/14.html get和post是神马? get和post是http中两种最常用到的请求类型 简单理解get请求 get请求多用于获取信 ...
- selenium测试 - open Firefox
环境:Python2.7+selenium3+Firefox47 问题1: 在打开火狐浏览器时报错:‘geckodriver‘ executable needs to be in PATH fro ...
- 洛谷P1890 gcd区间
题目描述 给定一行n个正整数a[1]..a[n]. m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数. 输入输出格式 输入格式: 第一行两个整数n,m. 第二行n个整数表 ...
- [linux]linux调度策略对io的影响
题记:原本要写nfs的I/O小测试的,但考虑到只是的完整性和系统性,转一篇调度策略相关文章. 1.linux中的调度策略 参考:http://scoke.blog.51cto.com/769125/4 ...