JSON概念以及相关使用方法以及与JS的相互转换

JSON:

1.概念:Javascript对象表示法(JavaScript Object Notation)
JSON是存储和交换文本信息的语法。类似XML
JSON比XML更小、更快、更易解析
eg:在JAVA中表示:
Person P = new Person();
P.setName(“张三”);
P.setAge(23);
P.setGender(“男”)

跟Json表示的含义相同:
var p = {“name”:“张三”,“age”:23,“gender”:“男”}

2.语法:

2.1基本规则:
数据在名称/值对中:json数据是由键值对构成的
键同引号(单双都行)引起来,也可以不使用引号
值的取值类型:
1.数字(整数或浮点数)
2.字符串(在双引号中)
3.逻辑值(true 或 false)
4.数组(在方括号中){“persons”:}
5.对象(在花括号中){“address”:{“province”:“北京”。。。}}
null
数据由逗号分隔:多个键值对由逗号分隔
花括号保存对象:使用{}定义json格式
方括号保存数组:[]

2.2获取数据:
1.json对象.键名
2.json对象[“键名”]
3.数组对象[索引]
在这里插入图片描述
在这里插入图片描述

3.JSON数据和Java对象的相互转换
*JSON解析器:
常见的解析器:Jsonlib,Gson,fastjson,jackson
3.1JSON转为Java对象

3.2Java对象转换JSON

4.JSON 与 JS 对象的关系

4.1要实现从对象转换为JSON字符串,使用JSON.stringify()方法:
var obj = JSON.stringify({a:“hello”,b:“world”}); 结果是:‘{a:“hello”,b:“world”}’

4.2要实现从JSON转换为对象,使用JSON.parse()方法;

var obj = JSON.parse(’{a:“hello”,b:“world”}’); 结果是:{a:“hello”,b:“world”}

例子(此操作需要安装一个wamp服务器或者其他服务器也可以,并将下面三个文件放在wamp安装目录下www里面,打开html点键钮即可):
12-ajax-json.html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="ajax.js"></script>

    <script>
        window.onload = function (ev) {
            var btn = document.querySelector("button");
            btn.onclick =function (ev1) {
                ajax({
                    type:"get",
                    url:"12-ajax-json.php",
                    success:function (xhr) {
                        console.log(xhr);
                        // json格式转为js格式
                        // 在低版本IE中,不可以使用原生json.parse方法,但可以使用json2.js这个框架
                       var obj = JSON.parse(xhr);
                        console.log(obj);
                        console.log(obj.name);
                        console.log(obj.age);
                    },
                    error:function(xhr){
                        console.log(xhr.status);
                    }
                })
            }

        }
    </script>



</head>
<body>
<button>提交json</button>
</body>
</html>

12-ajax-json.txt代码如下:

{
  "name":"张三",
  "age":"18"
}

12-ajax-json.php代码如下:

<?php

echo file_get_contents("12-ajax-json.txt");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值