8、前后端交互数据格式-JSON和XML

8、前后端交互数据格式-JSON和XML

(1)xmL

【1】XML简介
	1HTML-XHTML-XML
	XML语言是由HTML发展过来的,HTML是一种标记语言,有标签组成,是一种弱约束语言,主要用来显示数据。后来W3C发布不了XHTML,这是一种相对规范的语言,但是我们的程序员并不买账。继而又发布了XML语言,该语言是是一种强规范语言,主要用来传输数据(后面被JSON替代,当我们在一些框架中仍然可以看到它身影)
【2】XML语法
	对于XML我们不需要深究,只需要明确标签(元素)、属性、内容,这三个概念即可。

(2)JSON(重点)

【1】JSON简介
	JSON是JavaScript对象表示法,是一种轻量级的文本数据交换格式。
【2】基本结构
	它是一种键值对,key必须为字符串,value可以为任意类型,比如数字、字符串、数组、对象等,
【3】使用方式
	在前后端交互的过程中,前端会给后端发送JSON格式的数据,后端需要将JSON数据格式解析为Java,才能进行操作。
	这里我们使用的阿里巴巴的fastjson.jar

import javax.management.loading.PrivateClassLoader;

public class Student {
    private int no;
    private String name;
    private int age;

    public Student(int no, String name, int age) {
        this.no = no;
        this.name = name;
        this.age = age;
    }

    public Student() {
    }

    public int getNo() {
        return no;
    }

    public void setNo(int no) {
        this.no = no;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "no=" + no +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

将JSON数据格式转换为为Java对象

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.List;
/*
* 重点掌握 json--java*/
public class JSONDemo2 {
    public static void main(String[] args) {
        //methods1();
        //methods2();
        String jsonstr = "[{\"age\":13,\"name\":\"王小三\",\"no\":103},{\"age\":13,\"name\":\"王小四\",\"no\":103}]";
        List<Student> studentList = JSON.parseArray(jsonstr, Student.class);
        for (Student student : studentList) {
            System.out.println(student);
        }
    }

    //将json字符串转java对象
    private static void methods2() {
        String jsonstr = "{\"no\":103,\"name\":\"张三\",\"age\":13}";
        Student student = JSON.parseObject(jsonstr, Student.class);
        System.out.println(student);
    }

    private static void methods1() {
        //创建一个json字符串
        String jsonstr = "{\"no\":103,\"name\":\"张三\",\"age\":13}";
        //将json字符串转成json对象
        JSONObject parse = (JSONObject) JSON.parse(jsonstr);
        System.out.println(parse);
    }
}

总结:
JAVA转JSON:使用(JSONArray、JSONObject)JSON.toJson(数组、类)
JSON转JAVA:使用JSON.parseArray/parseObject/parse(对象/对象数组,字节码文件对象(泛型))

你可能感兴趣的:(数据库基础,json,xml,java)