json

json定义

json是又键值对组成,并且由花括号(大括号)包围。每个键由引导起来,键和值之间使用冒号进行分隔,多组键值对之间进行逗号进行分割

    <script>
        var jsonobj={
            "key1":12,
            "key2":"abc",
            "key3":true,
            "key6":[{
                "key7":"cbcb"}, {
                "key8":"jaja"},{
                "key9":"aa"
            }]
        }
        alert(typeof jsonobj)
    </script>

json就是一个对象,里面的key就是他的属性,可以通过对象名.属性的方式调用

    <script>
        var jsonobj={
            "key1":12,
            "key2":"abc",
            "key3":true,
            "key6":[{
                key6_1:"123456"},{
                key6_2:"jaja"},{
                key6_3:"aa"
            }]
        };
        var test =jsonobj.key6[0];
        alert(test.key6_1);
        // for (var i = 0; i <jsonobj.key6.length ; i++) {
        //     alert(jsonobj.key6[i])
        // }
    </script>

json的两个常用方法
json的存在由两种形式。
一种是:对象的形式纯在,我们叫它json对象。
一种是:字符串的形式存在,我们叫他json字符串。
json对象转换为json字符串

var jchangge =JSON.stringify(jsonobj);
        alert(jchangge)

json字符串转为json对象

 var jsoo = JSON.parse(jchangge)
        alert(jsoo)

json在java中的使用
三种转换
1.javaBean和json的互转
导入gson包

//第一步先做一个javabean
package Abstract;

public class abs {
    private Integer id;
    private String name;
    public abs(){

    }
    public abs(Integer id,String name){
        this.id=id;
        this.name=name;
    }

    public String getName() {
        return name;
    }

    public Integer getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setId(Integer id) {
        this.id = id;
    }
}

@Test
    public void method(){
        abs test =new abs(12,"kevin");
        //创建一个gson类的对象
        Gson gson =new Gson();
        //使用gson的方法转换
        String personJsonString = gson.toJson(test);
        System.out.println(personJsonString);
        //使用gson将json转为javaclass
        gson.fromJson(personJsonString,test.class);
    }

2.list和jason的互转(弊端集合元素非对象)

public class jttest {
    @Test
    public  void  methdod(){
        Gson gson =new  Gson();

        List<jt> jtList =new ArrayList<>();
        jtList.add(new jt(23,"kevin"));
        jtList.add(new jt(23,"mark"));
        gson.toJson(jtList);
        
    }
}

将集合里面元素也转换成对象的方法

public class jttest {
    @Test
    public  void  methdod(){
        Gson gson =new  Gson();

        List<jt> jtList =new ArrayList<>();
        jtList.add(new jt(23,"kevin"));
        jtList.add(new jt(23,"mark"));
        String jtListString =gson.toJson(jtList);
//        List list= gson.fromJson(jtListString,jtList.getClass());
        List list =gson.fromJson(jtListString,new PersonListType().getType());
        System.out.println(list);
    }
}

public class PersonListType extends TypeToken<ArrayList<jt>> {
}

动力节点笔记

1.json概述
数据交换两个方法
Xml体积大解析难度大(一般和钱有关系的严谨的系统都采用xml交换)
Json体积小,解析更容易 (java-c++、javascript-java)

相比来说xml语法严格,json语法松散
在javscript中json是一个对象。
3. javascript怎么创建json对象,怎么访问json
注意[]中括号是数值,{}大括号是json

//格式
var jsonObj={
    "属性名":属性值,
    "属性名":属性值,
    "属性名":属性值,
    "属性名":属性值,
    "属性名":属性值,
    ...
};
//访问对象属性
    console.log(jsonObj.属性名)
	console.log(jsonObj["属性名"])

例子

var st = [20];
st[20] = 12;
alert(st.length);
var person= {
    "name":"kobe",
    "age":43,
    "position":["movie","basketball","father"]
};
console.log(person.name);
console.log(person.age);
for (let i = 0; i <person.position.length ; i++) {
    console.log(person.position[i])
}

设计一个json格式的数据可以表示全班人数和每个学生信息

var class1= {
    "Total":3,
    "det":[{"name":"kevin","age":23},{"name":"k","age":23},{"name":"ke","age":23}]
};

console.log(class1.Total);
var s = class1.det;
for (let i = 0; i <s.length ; i++) {
    console.log(s[i].name+","+s[i].age)
}

Json用于交换数据
Java将 数据拼接成Json格式的string字符串,给json,json转换成对象。

重点Window.eval(“将字符串当js执行”)
如:获取java来的json格式的字符串。

var jsonfromjava ="{\"name\":\"kevin\",\"age\":23}";
window.eval("var stu ="+ jsonfromjava);
console.log(stu.name)

浏览器向服务器发送请求的方法

  1. 直接在浏览器地址栏写URL,get请求
  2. 点击页面超链接,get请求。
  3. 提交form表单,可以是get,也可以是post
  4. Window.open(url);
  5. Document.location.href=rul;

例子

!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        var jsonfromjava = "{\"ID\":1,\"Name\":\"Kabul\",\"CountryCode\":\"AFG\",\"District\":\"Kabol\",\"Population\":1780000}";
        window.onload =function () {
            document.getElementById("display").onclick =function () {
                //解析json来的字符串获取记录数
                window.eval("data = "+jsonfromjava);
                document.getElementById("total_span").innerHTML = data.ID;
                document.getElementById("num").innerHTML = data.ID;
                document.getElementById("nam").innerHTML = data.Name;
                document.getElementById("cityco").innerHTML = data.CountryCode;
                document.getElementById("pla").innerHTML = data.District;
                document.getElementById("popu").innerHTML = data.Population;
            }
        };
    </script>
</head>
<body>
<!--    <form method="get" action="http://localhost:8080/jsontet_war_exploded/welcome">-->
    <form>
        <input type="button" value="查找数据" id="display">
        <table border="1px" width="40%">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>城市代码</th>
                <th>地区</th>
                <th>人口</th>
            </tr>
            <tbody>
                <tr>
                    <td id="num"></td>
                    <td id="nam"></td>
                    <td id="cityco"></td>
                    <td id="pla"></td>
                    <td id="popu"></td>
                </tr>
            </tbody>
        </table>
        总记录:<span id="total_span">条</span>
    </form>
</body>
</html>

AJAX请求

什么是AJAX请求
AJAX式一种创建交互式我也应用的网页开发技术。是一种浏览器通过js异步发起请求,局部跟新页面的技术。
原生AJAX请求示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值