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 ...
 
随机推荐
- 蓝桥网试题 java 入门训练 Fibonacci数列
			
---------------------------------------------------------------------------------------------------- ...
 - 使用python制作ArcGIS插件(6)案例分析
			
利用ArcPy制作航空制图插件 By 李远祥 这是笔者两年多前写的一个面向航路图做的一个插件,基本上将航路图的制作进行流程化,制作成为可交互的插件,只要有航路和机场的信息,就可以直接生成一个航路图,每 ...
 - 读书笔记 effective c++ Item 1 将c++视为一个语言联邦
			
Item 1 将c++视为一个语言联邦 如今的c++已经是一个多重泛型变成语言.支持过程化,面向对象,函数式,泛型和元编程的组合.这种强大使得c++无可匹敌,却也带来了一些问题.所有“合适的”规则看上 ...
 - HTTP学习(一)初识HTTP
			
作为一名准前端开发工程师,必须要对http基础知识有一定的了解,可是想学习HTTP相关的知识,发现国内只有两本相关的图书,<HTTP权威指南>和<图解http>,所有的书但凡带 ...
 - CentOS下WDCP下的MYSQL开启远程连接
			
1.首先要在防火墙开启3306端口访问 2.然后做如下操作 如何开启MySQL的远程帐号-1)首先以 root 帐户登陆 MySQL 在 Windows 主机中点击开始菜单,运行,输入"cm ...
 - Struts2初步接触
			
使用idea快速搭建Struts2的Maven项目 首先使用intelij idea部署Maven项目 1.jar包引入 pom.xml 我们用的是阿里云 我用的是最新版的Struts2核心 ...
 - 第八讲:I/O虚拟化
			
一.I/O虚拟化的产生 服务器单个千兆以太网端口肯定能够支持单个应用,但是当被分割为10个.15个或者更多的服务器负载时(这其中包括网络.存储以及服务器之间的流量)可能就不够用了. 当遇到I/O瓶颈时 ...
 - nginx负载均衡2
			
负载均衡2 网站是发展初期,nginx只代理了后端一台服务器,但由于网站名气大涨访问的人越来越多一台服务器实在是顶不住,于是我们加了多台服务器,那么多台服务器又怎么配置代理呢,这里以两台服务器为案例, ...
 - java读取和写入txt文件
			
package com.yinghuo.testDES; import java.io.BufferedReader;import java.io.BufferedWriter;import java ...
 - 基于 socket.io, 简单实现多平台类似你猜我画 socket 数据传输
			
一.前言 socket.io 实现了实时双向的基于事件的通讯机制,是基于 webSocket 的封装,但它不仅仅包括 webSocket,还对轮询(Polling)机制以及其它的实时通信方式封装成了通 ...