Uso de string de protocolo JAVA Json

Visão geral de JSON

Módulo de back-end: JAVA

1.八种基本数据类型+String类型,直接交互
2.对象类型或集合类型

Módulo front-end: JavaScript

String de protocolo JSON

1.把Java中的对象类型或者集合类型转换为JSON
2.把JSON协议串转换回Java中的对象回集合

A função do JSON

O meio de transmissão de dados em sistemas heterogêneos

Sistema heterogêneo

Módulos ou sistemas desenvolvidos em diferentes linguagens

java cada formato de conversão json

Objeto

	@Test
	public void test1(){
    
    
	    Address address = new Address("BeiJing", "长安街");
	    User user = new User("James", "123456", "男", new Date(), address);
	    String s = JSON.toJSONString(user);   
	    System.out.println(s);
	}
{"address":{"city":"BeiJing","street":"长安街"},
"birthday":1575899645699,"password":"123456","sex":"男","username":"James"}

Use "" para atributos, "" para strings, sem necessidade de números, os objetos são incluídos com {}, se os objetos estiverem aninhados, os nomes dos atributos ainda usam "", os valores são iguais aos dos objetos {}. O
formato de data acima é um formato de número inteiro longo e precisa ser usado Comentário @JSONField (format == “aaaa-MM-dd”);
{"endereço": {"cidade": "BeiJing", "rua": "Changan Street"}, "aniversário": "09-12-2019", "Senha": "123456", "sexo": "男", "nome de usuário": "James"}

Variedade

@Test
public void test2(){
    
    
	String [] colors ={
    
    "赤","橙","红","绿","蓝","靛","紫"} ;
	tring s = JSON.toJSONString(colors);
	System.out.println(s);
}

O resultado é o seguinte: a matriz usa [] para conter

["赤","橙","红","绿","蓝","靛","紫"]

coleção de lista

@Test
public void test3(){
    
    
	ArrayList<User> users = new ArrayList<User>();
	User user1 = new User("James", "123456", "男", new Date(), null);
	User user2 = new User("James", "123456", "男", new Date(), null);
	User user3 = new User("James", "123456", "男", new Date(), null);
	users.add(user1);
	users.add(user2);
	users.add(user3);
	String s = JSON.toJSONString(users);
	System.out.println(s);
}

Ambos os lados da lista também estão incluídos com [], os objetos dentro são incluídos com {}, usados ​​e divididos no meio, cada atributo é decorado com "" e o valor é separado por:

[{"birthday":"2019-12-09","password":"123456","sex":"男","username":"James"},
{"birthday":"2019-12-09","password":"123456","sex":"男","username":"James"},
{"birthday":"2019-12-09","password":"123456","sex":"男","username":"James"}]

coleção definida

@Test
public void test4(){
    
    
	HashSet<User> users = new HashSet<>();
	User user1 = new User("James", "123456", "男", new Date(), null);
	User user2 = new User("James", "123456", "男", new Date(), null);
	User user3 = new User("James", "123456", "男", new Date(), null);
	users.add(user1);
	users.add(user2);
	users.add(user3);
	String s = JSON.toJSONString(users);
	System.out.println(s);
}

Definir coleção para string de protocolo JSON é igual ao resultado da coleção de lista

[{"birthday":"2019-12-09","password":"123456","sex":"男","username":"James"},
{"birthday":"2019-12-09","password":"123456","sex":"男","username":"James"},
{"birthday":"2019-12-09","password":"123456","sex":"男","username":"James"}]

coleção de mapas

@Test
public void test5(){
    
    
	HashMap<String, String> map = new HashMap<>();
	map.put("1","赤");
	map.put("2","橙");
	map.put("3","红");
	map.put("4","绿");
	map.put("5","蓝");
	map.put("6","靛");
	map.put("7","紫");
	map.put("8","黑");
	String s = JSON.toJSONString(map);
	System.out.println(s);
}

Uma coleção de mapas simples, a string do protocolo JSON é consistente com o objeto, e a chave e o valor são separados por:

{"1":"赤","2":"橙","3":"红","4":"绿","5":"蓝","6":"靛","7":"紫","8":"黑"}

O valor na coleção de mapas é um objeto

@Test
public void test6(){
    
    
	HashMap<String, User> users = new HashMap<>();
	User user1 = new User("James", "123456", "男", new Date(), null);
	User user2 = new User("James", "123456", "男", new Date(), null);
	User user3 = new User("James", "123456", "男", new Date(), null);
	users.put("1",user1);
	users.put("2",user2);
	users.put("3",user3);
	String s = JSON.toJSONString(users);
	System.out.println(s);
}

A coleção de mapas é como objetos, a mais externa é {}

{"1":{"birthday":"2019-12-09","password":"123456","sex":"男","username":"James"},
"2":{"birthday":"2019-12-09","password":"123456","sex":"男","username":"James"},
"3":{"birthday":"2019-12-09","password":"123456","sex":"男","username":"James"}}

@JSONField

@JSONField(name = "name")  //指定转换为JSON协议串之后的属性名
@JSONField(serialize = false)  //排除该属性不参与JSON协议串的转换
@JSONField(format = "yyyy-MM-dd") //指定日期的格式

Conversão JSON Java

Objeto

	//JSON协议串 转		对象
    @Test
    public   void   test1(){
    
    
        User user = new User(1, "张三", "123456", 18);
        String jsonString = JSON.toJSONString(user);
        System.out.println(jsonString);
        //json协议串转换会User对象
        User user1 = JSON.parseObject(jsonString, User.class);
        System.out.println(user1);
    }

Coleção de lista

//JSON协议串转	LIst集合
    @Test
    public  void   test2(){
    
    
        //创建List集合
        List<User> users = new ArrayList<User>();
        //创建User对象
        User user = new User(1, "小黑", "123456", 18);
        User user2 = new User(2, "小白", "123456", 28);
        User user3 = new User(3, "小绿", "123456", 18);
        users.add(user);
        users.add(user2);
        users.add(user3);
        //List转json协议串
        String jsonString = JSON.toJSONString(users);
        System.out.println(jsonString);
        //json协议串转换会LIst集合
        List<User> list = JSON.parseArray(jsonString, User.class);
        for (User user1 : list) {
    
    
            System.out.println(user1);
        }
    }

Conjunto de coleção

//JSON协议串 转Set集合
    @Test
    public   void   test3(){
    
    
        //创建List集合
        Set<User> users=new HashSet<User>();
        //创建User对象
        User user = new User(1, "小黑", "123456", 18);
        User user2 = new User(2, "小白", "123456", 28);
        User user3 = new User(3, "小绿", "123456", 18);
        users.add(user);
        users.add(user2);
        users.add(user3);
        //Set转json协议串
        String jsonString = JSON.toJSONString(users);
        System.out.println(jsonString);
        //json协议串转换会Set集合
        Set set = JSON.parseObject(jsonString, Set.class);
        for (Object o : set) {
    
    
            System.out.println(o);
        }
    }

Coleção de mapas

//JSON协议串转Map集合
    @Test
    public  void   test4(){
    
    
        Map<String, String> maps = new HashMap<String, String>();
        maps.put("1", "小花");
        maps.put("2", "小王");
        maps.put("3", "小红");
        //Map集合转JSON协议串
        String jsonString = JSON.toJSONString(maps);
        System.out.println(jsonString);
        //JSON协议串 转Map集合
        Map map = JSON.parseObject(jsonString, Map.class);
        Set set = map.keySet();
        for (Object key : set) {
    
    
            System.out.println(key+"==========="+map.get(key));
        }
    }

Expandir

Além de json, há GSON, FastJson, Jackson

Acho que você gosta

Origin blog.csdn.net/qq_45646951/article/details/110870665
Recomendado
Clasificación