欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSON简介

程序员文章站 2022-07-06 11:46:28
1.什么是JSON JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想 ......

1.什么是json

json(javascript object notation, js 对象简谱) 是一种轻量级的数据交换格式。它基于 ecmascript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 json 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

2.json语法

{“属性1” : ”值1” , ”属性2” : ”值2”}  

 属性值数据类型:

数值  : 2  2.3  -5

字符串:”jack”

数组  : []

boolean: true/false

对象  :   {}   

3.页面处理json数据

<script type="text/javascript">
    //数值和字符串类型
    var json = {"name":"张珊","age": 18 ,"sex":"女"};
    //alert(json.name);
    //alert(json.age);
    //alert(json.sex);
    //对象类型
    var json2 = {"person" : {"name":"张珊","age": 18 ,"sex":"女"} }
    //alert(json2.person.name);
    //数组类型
    var json3 = {"list" : [{"name":"张珊","age": 18 ,"sex":"女"},{"name":"李思","age": 20 ,"sex":"男"}] }
    alert(json3.list[1].name);
</script>

4.服务器如何把java数据转成json格式数据

4.1页面接收json对象

<body>
<button>点击获去json数据(对象)</button>
<button>点击获去json数据(集合)</button>
</body>
<script type="text/javascript">
    $(function(){
        $("button").eq(0).click(function(){
            //点击获去json数据(对象)
            $.ajax({
                "url"          : "/jquery_demo2/json.do",
                "type"         : "get",
                "success"    : function(data){
                    //alert(data);
                    console.log(data)
                    //alert(data.id);
                },
                "datatype"    :  "json"
            })
        })
        $("button").eq(1).click(function(){
            //点击获去json数据(集合)
            $.ajax({
                "url"          : "/jquery_demo2/json.do",
                "type"         : "post",
                "success"    : function(data){
                    console.log(data)
                },
                "datatype"    :  "json"
            })
        })
    })
</script>

4.2 java对象转json

protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {
        //模拟对象数据  
        user user = new user(1001,"努努","男",22);
        //把对象转成json
        //需要第三方插件  jar包
        //使用jsonobject         把java对象转成了 json对象        推荐使用
        jsonobject json = jsonobject.fromobject(user);
        //使用jsonarray         把java对象转成了 json数组
        //jsonarray json = jsonarray.fromobject(user);
        printwriter out = response.getwriter();
        out.write(json.tostring());
        out.close();
    }

4.3集合转json

protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {
        //模拟集合数据
        arraylist<user> list = new arraylist<user>();
        list.add(new user(1001,"努努","男",22));
        list.add(new user(1002,"璐璐","女",14));
        list.add(new user(1003,"萌萌","女",19));
        //把集合转成json
        //使用jsonarray         把集合转成了 json数组
        jsonarray json = jsonarray.fromobject(list);
        response.setcontenttype("appliction/json;charset=utf-8"); 
        printwriter out = response.getwriter();
        out.write(json.tostring());
        out.close();
    }