XML e JSON (6) --- JSON

1. Introdução

        JavaScript Object Notation A notação de objeto JS é um formato de troca de dados leve.

2. Formato do objeto

        Um objeto, denotado por uma chave:

                As propriedades do objeto são descritas entre parênteses e as propriedades do objeto são descritas por pares chave-valor

                Formatar:

                        Dois pontos são usados ​​para vincular chaves e valores, e vírgulas são usadas para separar vários pares de chave-valor;

                        A chave do par chave-valor deve ser colocada entre aspas (geralmente quando o Java analisa, se a chave não usar aspas, um erro será relatado, mas o JS pode analisar corretamente);

                        O valor do par chave-valor pode ser qualquer tipo de dado em JS.

        Exemplo: um livro

                título do livro

                Introdução

Java:

class Book{
    private String name;
    private String info;
    get/set....
}
Book b = new Book();
b.setName = "xxx";
b.setInfo = "yyy";
...

js:

var b = new Book();
b.name = "xxx";
b.info = "yyy";

XML:

<book>
    <name>xxx</name>
    <info>yyy</info>
</book>

JSON:

{
    "name":"xxx",
    "info":"yyy"
}

Formato da matriz:

        Os objetos podem ser aninhados entre si no formato JSON: [elemento 1, elemento 2...]

Por exemplo:

{
    "friend":["x","y","z",{
                "name":"aaa",
                "age":18
            }]
}

Usar xstream:

package com.java.h.demo;

import com.thoughtworks.xstream.XStream;

import java.util.Objects;

/**
 * @author s
 * @version 1.0
 * @date 2022-02-19 13:59
 */
public class Demo5 {
    public static void main(String[] args) {
        Person p = new Person();
        p.setName("张三");
        p.setAge(18);
        // XStream使用
        // 1.创建XStream对象
        XStream x = new XStream();
        // 2.修改某个类型生成的节点(可选,默认包名.类名)
        x.alias("person",Person.class);
        // 3.传入对象,开始生成
        String xml = x.toXML(p);
        System.out.println(xml);
    }
    static class Person{
        private String name;
        private int age;

        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;
        }

        public Person() {
        }

        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            Person person = (Person) o;
            return age == person.age && Objects.equals(name, person.name);
        }

        @Override
        public int hashCode() {
            return Objects.hash(name, age);
        }
    }
}

 

A estrada é longa e longa, vou procurar de cima a baixo!

Guess you like

Origin blog.csdn.net/weixin_38817361/article/details/123022074