在编写代码前,我想确认大家对REST都有一个很好的理解,为什么她适合JSON-lib包。首先,从技术角度上说,REST不仅仅可以应用到API,她更多的只是一个概念,希望本文能教会你更多东西。
1、前后台所有文件统一用utf-8编码方式。
2、Ext.lib.Ajax.defaultPostHeader += '; charset=utf-8'加在Ext.onReady块里,此方法可以解决用EXT在POST时的中文乱码问题。
在JSON-lib包中设置Content-Type:text/json;charset=utf-8,在JAVA中实现方法:response.setContentType("text/json; charset=utf-8"),此方法可以解决用EXT在显示后台中文时的乱码问题
如果不行。试试response.setContentType("application/json; charset=utf-8")这里设置是不能放过滤器时的。原因了解一下过滤器的运行顺序就知道。#t#
JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。在本例中,我们将使用JSONObject类创建JSONObject对象,然后我们打印这些对象的值。为了使用JSONObject对象,我们要引入"net.sf.json"包。为了给对象添加元素,我们要使用put()方法。
- import net.sf.json.JSONArray;
- import net.sf.json.JSONObject;
- public class JSONObjectSample {
- //创建JSONObject对象
- private static JSONObject createJSONObject(){
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("name", "kevin");
- jsonObject.put("Max.score", new Integer(100));
- jsonObject.put("Min.score", new Integer(50));
- jsonObject.put("nickname", "picglet");
- return jsonObject;
- }
- public static void main(String[] args) {
- JSONObject jsonObject = JSONObjectSample.createJSONObject();
- //输出jsonobject对象
- System.out.println("jsonObject==>"+jsonObject);
- //判读输出对象的类型
- boolean isArray = jsonObject.isArray();
- boolean isEmpty = jsonObject.isEmpty();
- boolean isNullObject = jsonObject.isNullObject();
- System.out.println("isArray:"+isArray+" isEmpty:"+isEmpty+" isNullObject:"+isNullObject);
- //添加属性
- jsonObject.element("address", "swap lake");
- System.out.println("添加属性后的对象==>"+jsonObject);
- //返回一个JSONArray对象
- JSONArray jsonArray = new JSONArray();
- jsonArray.add(0, "this is a jsonArray value");
- jsonArray.add(1,"another jsonArray value");
- jsonObject.element("jsonArray", jsonArray);
- JSONArray array = jsonObject.getJSONArray("jsonArray");
- System.out.println("返回一个JSONArray对象:"+array);
- //添加JSONArray后的值
- //{"name":"kevin","Max.score":100,"Min.score":50,"nickname":"picglet","address":"swap lake",
- //"jsonArray":["this is a jsonArray value","another jsonArray value"]}
- System.out.println(jsonObject);
- //根据key返回一个字符串
- String jsonString = jsonObject.getString("name");
- System.out.println("jsonString==>"+jsonString);
- }
- }