关闭

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

标签: javascriptjsonajax
66人阅读 评论(0) 收藏 举报
分类:

一、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格式的json
jsonJAVA = jsonJAVA.substring(1,jsonJAVA.length()-1);
System.out.println(jsonJAVA);
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:965次
    • 积分:66
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档