学习日记:json之what,why,where,how及应用

来源:互联网 发布:为什么淘宝比京东便宜 编辑:程序博客网 时间:2024/05/01 02:29

一、json总介

1)什么是json

(1)json是ajax与服务器一种轻量级数据交换技术;
(2)json本质上是用JavaScript语法书写的一种具有特定格式的文本字符串

2)为什么要使用json

(1)在js中用于简化创建对象;
(2)能够代替xml作为ajax与服务器交互的技术;

3)在哪里使用json

(1)在js中用于简化创建对象;
(2)作为ajax与数据库交互的载体之一

4)怎么使用json

//定义一个对象var user = {        id : 123456        name : "张三";//字符串的话必须加上双引号;};//定义一个数组var array = [        {},        {}];//定义一个复杂的对象        var p = {            id:1,            name:'哈哈',            isLove:true,            home:['广州','深圳'],            show : function(str){                alert("你是" + str);            }        };        //document.write(p.isLove?"已婚":"单身"+"<br/>");        p.show("**");

5)json的应用

当json作为ajax与服务端交互的载体的时候,服务端需要把传输的对象数据转成json,可以将list,map,set或者自定义对象转json ,有两种方法:
(1)struts提供这个功能实现步骤
1、必须导入包struts2-json-plugin-2.3.4.1;
2、在配置的文件必须将 extends=”json-default”,且必须提供一个result type =“json” 如下

    <package name="myPackage" extends="json-default" namespace="/">        <!-- 全局结果类型,也能配置在具体的action标签中-->        <global-results>            <result name="success" type="json"/>        </global-results>
3、在Action中必须有对象的get方法,比如;
    private List<String> cityList;//城市的集合    public List<String> getCityList() {        return cityList;    }
4、jsp页面中必须把java格式的json转换成JavaScript格式的json
var jsonJAVA = ajax.responseText;//p所代表的是java格式的json文本,是不能直接被js执行的//解决方案:将java格式的json文本,转成js格式的json文本//如何做:用js提供的一个函数搞定var jsonJS = eval("("+jsonJAVA+")";

(2)或者使用第三方的工具 必须导入的包有
1、commons-beanutils-1.7.0.jar
commons-collections-3.1.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
ezmorph-1.0.3.jar
json-lib-2.1-jdk15.jar
2、

JSONArray jSONArray = JSONArray.fromObject(map);String jsonJAVA = jSONArray.toString();System.out.println(jsonJAVA);//[{"total":2,"rows":[{"id":1,"name":"中山"},{"id":2,"name":"佛山"}]}]//将首尾的方括号去掉才符合JavaScript格式的jsonjsonJAVA = jsonJAVA.substring(1,jsonJAVA.length()-1);System.out.println(jsonJAVA);
0 0