curl中通过json格式吧post值返回到java中遇到中文乱码的问题
首先是: curl中模拟http请求:
curl -l 127.0.0.1:8080/spacobj/core/do?acid=100 -H "token:101hh" -H "Content-Type:application/json;charset=GBK" -X POST -d {"telNum":"13521389587","pass":"'my12345'","nick":"'明天1搜索1er好'","sms":"'7864AQ'"}
注意上方红色的部门,后面格式改成GBK格式.
然后是java代码块的格式编码:
public T_Account postFz(HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException, IOException, ParseException{
T_Account tac = new T_Account();
StringBuilder sb = new StringBuilder();
BufferedReader in = new BufferedReader(new InputStreamReader(
request.getInputStream(), "GBK")); //注意这里也是gbk编码.
String line = null;
while ((line = in.readLine()) != null) {
sb.append(line);
String json = sb.toString();
JSONObject jsonObject = JSONObject.fromObject(json);
System.out.println(json);
Iterator ite = jsonObject.keys();
// 遍历jsonObject数据,用对象来接收
while (ite.hasNext()) {
String key = ite.next().toString();
if (key.equals("telNum")) {
tac.setTelNum(jsonObject.get(key).toString());
}
if (key.equals("pass")) {
tac.setPass(jsonObject.get(key).toString());
}
if (key.equals("nick")) {
tac.setNick(jsonObject.get(key).toString());
}
if (key.equals("sms")) {
tac.setSms(jsonObject.get(key).toString());
}
if (key.equals("type")) {
Integer type= Integer.valueOf(jsonObject.get(key).toString());
tac.setType(type);
}
if (key.equals("name")) {
tac.setName(jsonObject.get(key).toString());
}
if (key.equals("uid")) {
Long uid= Long.valueOf(jsonObject.get(key).toString());
tac.setUid(uid);
}
if (key.equals("birthday")) {
String birthday1=jsonObject.get(key).toString();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(birthday1);
Date date = sdf.parse(birthday1);
tac.setBirthdayStr(date);
}
if (key.equals("avatar")) {
tac.setAvatar(jsonObject.get(key).toString());
}
String value = jsonObject.get(key).toString();
}
}
return tac;
}
上面是我个人写的java代码,本随笔不得抄袭.
curl中通过json格式吧post值返回到java中遇到中文乱码的问题的更多相关文章
- json字符串返回到js中乱码
Ajax 的post请求值返回到js中时出现中文乱码的情况,但是在action中写入时并未乱码,解决办法在action中写入前,加上这两行: request.setCharacterEncoding( ...
- php get接口,并在浏览器中以json格式返回查找到的数据
php查询数据有6个步骤,分别为: 连接数据库服务器,使用的命令为:mysql_connect("服务器名称","用户名","密码") 选择 ...
- Map 转 json格式 保留null值的解决办法
Map 转 json格式 保留null值的解决办法 开发中遇到将map数据转json格式,然后map中含null值的键值对都被转没了,所以记录一下,以下是解决方法 使用fastJson进行转换 imp ...
- 在JSP页面中输出JSON格式数据
JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...
- 在PHP代码中处理JSON 格式的字符串的两种方法:
总结: 在PHP代码中处理JSON 格式的字符串的两种方法: 方法一: $json= '[{"id":"1","name":"\u ...
- Ajax中的JSON格式与php传输过程的浅析
在Ajax中的JSON格式与php传输过程中有哪些要注意的小地方呢? 先来看一下简单通用的JSON与php传输数据的代码 HTML文件: <input type="button&quo ...
- JSON(五)——同步请求中使用JSON格式字符串进行交互(不太常见的用法)
在同步请求中使用JSON格式进行数据交互的场景并不多,同步请求是浏览器直接与服务器进行数据交互的大多是用jsp的标签jstl和el表达式对请求中的数据进行数据的渲染.我也是在一次开发中要从其它服务器提 ...
- JSON(三)——java中对于JSON格式数据的解析之json-lib与jackson
java中对于JSON格式数据的操作,主要是json格式字符串与JavaBean之间的相互转换.java中能够解析JSON格式数据的框架有很多,比如json-lib,jackson,阿里巴巴的fast ...
- JNI中修改(基本类型)参数并返回到Java层使用
最近在JNI相关项目中遇到一个问题:在Java层传入多个int类型的参数,在jni层修改参数值或地址之后重新返回到Java层.这应该算是基本知识了,尤其是基本类型的参数往往看似简单,所以在之前学习jn ...
随机推荐
- gulp实时编译less,压缩合并requirejs模块文件
gulp的使用命令简单,就几个,gulp的简单使用教材可以参考一点的gulp使用教材(http://www.ydcss.com/archives/18). 下面就简单的介绍这些命令如何互相配合的完成前 ...
- [css]《css揭秘》学习(四)-一个元素实现内圆角边框
如图所示的圆角边框有两个元素很好实现,用一个元素也可以实现. <html> <head> <meta charset="utf-8"> < ...
- SQLSERVER 运维日记-数据库状态
背景 新年伊始,小伙伴是不是还处于假期综合症的状态.我们在日常运维数据库的时候,会时常查看数据库的状态,检查数据库是否正常运行.对于这些状态的熟悉对于我们处理数据库无法访问的 问题非常重要.当数据库突 ...
- VS中生成debug和release的小问题
vs里生成dll,需要在解决方案上右键"属性",然后"配置",点击右上角"配置管理器(0)",选择debug或release,方可生效.不然 ...
- tableView的编辑
首先记住声明编辑样式的属性 UITableViewCellEditingStyle 和四个步骤 第一步:让tableView处于编辑状态 [self.rootView.tabView setEdit ...
- JS - What does `void 0` mean?
语法 void expression // or void(expression) MDN的描述 能向期望一个表达式的值是 undefined 的地方插入会产生副作用的表达式.也就是为了避免产生某种副 ...
- Java中显示图片的方法
最近在做一个swing小项目,其中需要把存储在硬盘中的图片文件显示出来,总结了如下方法: 1. Graphics g = getGraphics();String name = "E:/Ca ...
- Python,datetime模块实例
Python的标准模块datetime模块,在我们的工作中应用非常频繁,下面对datetime中常用的方法进行了总结和测试:对每一个方法都使用了单元测试框架Unittest来配合测试. 主要的类型有: ...
- JavaScript中值类型和引用类型的区别
JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和布尔值.此外,JavaScript中还有两个特殊的原始值:null和undefined,它们既不是数字也不 ...
- Angular2 路由问题修复 、求解
Angular2 提供了比angular1 更为强大的路由功能,但是在具体使用路由过程中,可是出现了很多路由不按照预想的方式执行的问题.为了说明今天的问题,我特地新建了一个测试工程.欢迎交流. 首先介 ...