如何正确转换JSON格式参数介绍

开发 开发工具
在我的代码中需要传中文到后台的JSON格式里面,然后返回值里面也包含中文。请求和相应的参数都是通过JSON传送。

下面具体介绍JSON格式的书写与描述,还要讲述下JSON格式,然后发起请求,返回的时候才以真正的json格式数据返回, 下面就进行JSON格式的讲解与分析,如何更好的弄好JSON格式呢?

需要说明一点,jQuery的getJSON方法其实是把JSON格式的参数转换成URL上面的参数,然后发起请求。返回的时候才以真正的json格式数据返回。 我的页面和Action的编码都是utf-8。碰到的问题是页面传送到Action的中文能够正常显示,但是Action通过JSON格式返回中文却显示乱码。网上找了很多相关资料,但是都没有解决问题。因为我的Webwork JSONResult Type是自己写的,所以我觉得问题可能处在那里。#t#
 
***想到的办法是在Action里面使用java.net.URLEncoder把中文转码一下,变成%EA%BC....这种格式,然后通过JSON传到页面上。

  1. try {     
  2.   temp.setContent(java.net.URLEncoder.encode("你好啊", "utf-8"));     
  3. } catch (UnsupportedEncodingException e) {     
  4.   // TODO Auto-generated catch block     
  5.   e.printStackTrace();     
  6. }   

然后在页面的getJSON回调函数里面用javascript的decodeURI把之前经过转码的字符串转回到中文,这样就能正常显示中文了。有一点需要注意,就是编码跟解码时候的字符集一定要一样,否则转换会出错。因为GB2312和UTF-8还有其他可以表示中文的字符集在用java.net.URLEncoder转码之后的结果是不一样的。所以编码和解码使用的字符集要对应才行。

  1. decodeURI(msgs["content"])   
责任编辑:chenqingxiang 来源: 计世网
相关推荐

2010-01-07 15:41:58

XML转换为JSON

2009-12-04 14:29:09

PHP json_en

2009-12-24 15:59:46

WPF图像格式

2009-12-04 13:31:24

PHP缺少JSON包

2010-01-08 14:41:24

JSON 缓存数据

2010-01-05 17:35:09

JSON数组格式

2010-05-11 14:30:39

2010-01-05 14:01:27

JSON.NET

2010-01-08 11:11:38

JSON 序列化

2009-07-31 14:09:41

c#时间格式转换

2021-10-15 09:00:02

Python日期转换Python基础

2011-09-01 18:29:10

Ubuntu

2010-05-21 17:14:18

MySQL 数字类型

2010-01-08 10:49:21

JSON 转换工具

2009-12-04 14:09:52

PHP JSON应用

2010-05-07 14:10:05

Oracle数据导出

2010-01-08 10:00:29

JSON-lib包

2009-08-05 09:09:14

C#调用VC DLL接

2009-12-15 14:09:39

Ruby创建可参数化类

2009-12-08 14:31:31

PHP命令行读取参数
点赞
收藏

51CTO技术栈公众号