Loading

JSON语法规则

JSON

JSON介绍

JSON语法规则

Javascript访问JSON对象

[
    {
        "empno": 1100,
        "ename": "李宁",
        "job": "软件工程师",
        "hiredate": "2017-05-12",
        "salary": 13000,
        "dname": "研发部"
    },
    {
        "empno": 1101,
        "ename": "王乐",
        "job": "光学工程师",
        "hiredate": "2018-05-12",
        "salary": 20000,
        "dname": "市场部",
        "customers": [
            {
                "cname": "李东"
            },
            {
                "cname": "小明"
            }
        ]
    }
][
    {
        "empno": 1100,
        "ename": "李宁",
        "job": "软件工程师",
        "hiredate": "2017-05-12",
        "salary": 13000,
        "dname": "研发部"
    },
    {
        "empno": 1101,
        "ename": "王乐",
        "job": "光学工程师",
        "hiredate": "2018-05-12",
        "salary": 20000,
        "dname": "市场部",
        "customers": [
            {
                "cname": "李东"
            },
            {
                "cname": "小明"
            }
        ]
    }
]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
    var json = [
        {
            "empno": 1100,
            "ename": "李宁",
            "job": "软件工程师",
            "hiredate": "2017-05-12",
            "salary": 13000,
            "dname": "研发部"
        },
        {
            "empno": 1101,
            "ename": "王乐",
            "job": "光学工程师",
            "hiredate": "2018-05-12",
            "salary": 20000,
            "dname": "市场部",
            "customers": [
                {
                    "cname": "李东"
                },
                {
                    "cname": "小明"
                }
            ]
        }
    ];
    console.log(json);
    for(var i = 0; i < json.length; i++){
        var emp =json[i];
        document.write("<h1>");
        document.write(emp.empno);
        document.write(", " + emp.name);
        document.write(", " + emp.job);
        document.write(", " + emp.hiredate);
        document.write(", " + emp.salary);
        document.write(", " + emp.dname);
        document.write("</h1>");
        if(emp.customers != null){
            for(var j = 0; j < emp.customers.length; j++){
                var cus = emp.customers[j];
                document.write("<h2>");
                document.write(cus.cname);
                document.write("</h2>");
            }
        }
    }
</script>
</head>
<body>

</body>
</html>

js中将字符串转为JSON

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>字符串转JSON</title>
<script type="text/javascript">
    var str = "{\"class_name\" : \"五年级四班\"}";
    var json = JSON.parse(str);
    console.log(str);
    console.log(json);
    document.write("班级:" + json.class_name);
</script>
</head>
<body>

</body>
</html>

js中JSON转为字符串

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSON转字符串</title>
<script type="text/javascript">
    var json1 = {"class_name" :  "五年级四班"};
    var str1 = JSON.stringify(json1);
    console.log(json1);
    console.log(str1);
    var json2 = {};
    json2.class_name = "五年级五班";
    json2.floor = "逸夫楼四层";
    json2.teacher = "孔金星";
    console.info(json2);
</script>
</head>
<body>

</body>
</html>

FastJSON

JSON与Java交互

FastJSON对象序列化与反序列化

package com.jesse.json;

import java.util.Date;

import com.alibaba.fastjson.annotation.JSONField;

public class Employee {
    private Integer empno;
    private String ename;
    private String job;
    @JSONField(name = "hiredate", format = "yyy-MM-dd")
    private Date hdate;
    private Float salary;
    @JSONField(serialize = false)
    private String dname;
    public Employee(Integer empno, String ename, String job, Date hdate, Float salary, String dname) {
        super();
        this.empno = empno;
        this.ename = ename;
        this.job = job;
        this.hdate = hdate;
        this.salary = salary;
        this.dname = dname;
    }

    public Integer getEmpno() {
        return empno;
    }
    public void setEmpno(Integer empno) {
        this.empno = empno;
    }
    public String getEname() {
        return ename;
    }
    public void setEname(String ename) {
        this.ename = ename;
    }
    public String getJob() {
        return job;
    }
    public void setJob(String job) {
        this.job = job;
    }
    public Date getHdate() {
        return hdate;
    }
    public void setHdate(Date hdate) {
        this.hdate = hdate;
    }
    public Float getSalary() {
        return salary;
    }
    public void setSalary(Float salary) {
        this.salary = salary;
    }
    public String getDname() {
        return dname;
    }
    public void setDname(String dname) {
        this.dname = dname;
    }


}
package com.jesse.json;

import java.util.Calendar;

import com.alibaba.fastjson.JSON;

public class FastJsonSimple1 {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();
        c.set(2019, 0, 30, 0, 0, 0);
        Employee emp = new Employee(1110, "孔金星", "Java工程师", c.getTime(), 20000f, "研发部");
        //FastJSON中提供JSON对象,完成对象与JSON字符串的相互转换
        String json = JSON.toJSONString(emp);
        System.out.println(json);
        Employee em = JSON.parseObject(json, Employee.class);
        System.out.println(em.getEname());
    }
}

FastJSON对象数组序列化与反序列化

package com.jesse.json;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSON;

public class FastJsonSimple2 {
    public static void main(String[] args) {
        List<Employee> emplist = new ArrayList<Employee>();
        for(int i = 1; i <= 100; i++) {
            Employee emp = new Employee();
            emp.setEmpno(1000 + i);
            emp.setEname("员工" + i);
            emplist.add(emp);
        }
        String json = JSON.toJSONString(emplist);
        System.out.println(json);
        List<Employee> emps = JSON.parseArray(json, Employee.class);
        for(Employee e : emps) {
            System.out.println(e.getEmpno() + e.getEname());
        }
    }
}
posted @ 2020-04-27 20:41  JesseKkk  阅读(191)  评论(0)    收藏  举报