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

原创 2015年11月21日 01:09: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格式的json
jsonJAVA = jsonJAVA.substring(1,jsonJAVA.length()-1);
System.out.println(jsonJAVA);

相关文章推荐

学习日记:jQuery之what,why,where,how及应用 (上)

一、jQuery总介 1)什么是jQuery jQuery是第三方开源组织基于JavaScript写的一款跨主流浏览器的实用库 2)为什么要使用jQuery (1) jQuery开源免费,...

学习日记:jQuery之what,why,where,how及应用 (下)

② jQuery的方法 //当页面加载后将 id 为 'login' 的元素设置焦点: $(document).ready(function(){ $("#login").focus(); ...

学习技术的三部曲:WHAT、HOW、WHY[1]

最近几天有些网友在邮件里面问我关于学习的问题。有很多人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力没有太大的提高。因此今天来?说一下我个人对这方面的体会。     我把学习...

学习三部曲:WHAT、HOW、WHY

一个人学习的过程要经历以下三步,才可以说得上“学会”两字:第一步:WHAT  所谓的“WHAT”,就是搞清楚某个东东是什么?有什么用?有什么语法?有什么功能特性?第二步:HOW  所谓的“HOW”,就...

学习技术的三部曲:What,How,Why

最近几天有些网友在邮件里面问我关于学习的问题。有很多人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力没有太大的提高。因此今天来说一下我个人对这方面的体会。  我把学习归类为三个...

学习技术的三部曲:WHAT、HOW、WHY

学习技术的三部曲:WHAT、HOW、WHY 最近几天有些网友在邮件里面问我关于学习的问题。有很多人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力没有太大的提高。因此今天来...

学习技术的三部曲:WHAT、HOW、WHY

最近几天有些网友在邮件里面问我关于学习的问题。有好几个人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力没有太大的提高。因此今天来说一下我个人对这方面的体会,希望对大伙儿(尤其是...
  • AL0n4k
  • AL0n4k
  • 2016年07月27日 23:16
  • 171

学习技术的三部曲:WHAT、HOW、WHY

近几天有些网友在邮件里面问我关于学习的问题。有好几个人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力没有太大的提高。因此今天来说一下我个人对这方面的体会,希望对大伙儿(尤其是新...

学习技术的三部曲:WHAT、HOW、WHY【转】

try { 代码3遍, 其意自见. 1. 不管懂不懂,照抄敲一遍。 2. 心中默念式敲一遍。 3. 完全不看自己敲一遍。(可以问人或自己google) ...

WHY-HOW-WHAT

  • 2015年12月13日 20:06
  • 20.14MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习日记:json之what,why,where,how及应用
举报原因:
原因补充:

(最多只允许输入30个字)