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 ...
随机推荐
- arm交叉编译器科普
交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch - 体系架构,如ARM,MIPS vendor - 工具链提供商 os - 目标操作系统 ea ...
- [html5] 学习笔记-表单新增的元素与属性(续)
本节主要讲解表单新增元素的controls属性.placeholder属性.List属性.Autocomplete属性.Pattern属性.SelectionDirection属性.Indetermi ...
- SysLog简介和java操作实例
什么是SysLog syslog协议属于一种主从式协议:syslog发送端会传送出一个小的文字讯息(小于1024字节)到syslog接收端.接收端通常名为“syslogd”.“syslog daemo ...
- OSS项目进度(2.19)
前两周先后完成了OSS.Common ,OSS.Http ,OSS.Social 项目的.net standard支持,再次开始进入框架本身的开发,今天进度情况: 一.OSS.Social 完成摇一摇 ...
- java程序测试之字符流
package filestream; import java.io.FileReader; import java.io.FileWriter; import java.io.FileNotFoun ...
- 在vi或者vim中显示行号
1. 为了显示行号,在vi/vim编辑器中执行一下命令中的一条 :set number 或者 :set nu 2. 为了关闭行号,在vi/vim编辑器中执行下面命令 :set nu! 如果你想要每次启 ...
- [MongoDB] - Window7下安装及BSON基本介绍
MongoDB是一种NOSQL(Not Only SQL)类型的文档型数据库.NoSQL数据库与传统的关系型数据库相比,它具有操作简单.完全免费.源码公开.随时下载等特点,并可以用于各种商业目的.Mo ...
- Ant学习总结1
一.Ant简介 Ant是用来编译/运行/测试java程序,构建.包装和发布过程中几乎每一件事都可以由Ant的任务来处理. 二.Ant管理项目 当开始一个新的项目时,首先应该编写Ant的构建文件, ...
- 一步一步学Python(2) 连接多台主机执行脚本
最近在客户现场,每日都需要巡检大量主机系统的备库信息.如果一台台执行,时间浪费的就太冤枉了. 参考同事之前写的一个python脚本,配合各主机上写好的shell检查脚本,实现一次操作得到所有巡检结果. ...
- BZOJ 1228: [SDOI2009]E&D(SG定理)
这道嘛,很容易就看出是个nim和,然后问题就是怎么算子问题的sg函数了 先暴力个表看下规律,很容易就找出来了~~~(百度空间又渣了,图贴不出来= =) 32 0 1 0 2 0 1 0 3 0 1 0 ...