Format JSON et utilisation de Gson et FastJson


introduction

JSON: Notation d'objet JavaScrpit La notation d'objet JS est un format interactif léger. Il est basé sur un sous-ensemble d'ECMAScript (la spécification js développée par l'European Computer Association), et utilise un format de texte complètement indépendant du langage de programmation pour stocker et représenter les données. La structure hiérarchique concise et claire fait de JSON un langage d'échange de données idéal. Il est facile pour les gens de lire et d'écrire, mais aussi facile pour la machine à analyser et à générer, et améliore efficacement l'efficacité de la transmission du réseau


Format d'objet

class Person{
    
    
	private String name;
	private String sex;
} 

JSON格式:
	JSON:{
    
    
		"name":"小明"
		"sex":"应该是男的"
	}
一个对象,由一个大括号表示.括号中描述对象的属性.通过键值对来描述对象的属性(可以理解为,大括号中,包含的是一个个的键值对.)
	格式:
		键与值之间使用冒号连接,多个键值对之间使用逗号分隔.
		键值对的键应使用引号引住(通常Java解析时,键不使用引号会报错.而JS能正确解析.)
		键值对的值,可以是JS中的任意类型的数据

Format de tableau

在JSON格式中可以与对象互相嵌套[元素1,元素2...]

Cas

Le code est le suivant (exemple):

{
    
    
	"name":"小明"
	"sex":"亲自验证是男的"
	"friend":["小红","小兰",{
    
    
		"name":"小黄"
		"info":"这个绝对是一个可爱的女孩子"
	}],
	"heihei":{
    
    
		"name":"大长刀",
		"length":"40m"}
}

Java donné JSON

  • Convertissez rapidement des objets Java en chaînes au format JSON.
  • Convertissez une chaîne au format JSON en un objet Java.

Gson

  • Convertir un objet en chaîne JSON
转换JSON字符串的步骤:
	1.引入JAR包
	2.在需要转换JSON字符串的位置编写如下代码即可:
		Stringjson=newGson().toJSON(要转换的对象);
 接下来我们来看案例

Book.java

public class Book {
    
    
    private String id;
    private String name;
    private String info;

    public Book(String id, String name, String info) {
    
    
        this.id = id;
        this.name = name;
        this.info = info;
    }

    public String getId() {
    
    
        return id;
    }

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

    public String getName() {
    
    
        return name;
    }

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

    public String getInfo() {
    
    
        return info;
    }

    public void setInfo(String info) {
    
    
        this.info = info;
    }

    @Override
    public boolean equals(Object o) {
    
    
        if (this == o) {
    
    
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
    
    
            return false;
        }
        Book book = (Book) o;
        return Objects.equals(id, book.id) &&
                Objects.equals(name, book.name) &&
                Objects.equals(info, book.info);
    }

    @Override
    public int hashCode() {
    
    
        return Objects.hash(id, name, info);
    }
}
 Book b=BookDao.find();
    String json=newGson().toJson(b);
    System.out.println(json);
  • Convertir un objet JSON en objet
1.引入JAR包
2.在需要转换Java对象的位置,编写如下代码:
	对象=newGson().fromJson(JSON字符串,对象类型.class);

Cas:

 Gson g = new Gson();
        //转换    {"id":"100","name":"金苹果","info":"种植苹果真辛苦"}
        Book b = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真辛苦\"}",Book.class);
        System.out.println(b.getId());

FastJson

  • Convertir un objet en chaîne JSON
转换JSON字符串的步骤:
	1.引入JAR包
	2.在需要转换JSON字符串的位置编写如下代码即可:
	Stringjson=JSON.toJSONString(要转换的对象);
 Bookb=BookDao.find();
    Stringjson=JSON.toJSONString(b);
    System.out.println(json);
  • Convertir la chaîne JSON en objet
 1.引入JAR包
    2.在需要转换Java对象的位置,编写如下代码:
        类型对象名=JSON.parseObject(JSON字符串,类型.class);
            或
        List<类型>list=JSON.parseArray(JSON字符串,类型.class);
 //  转换  : {"id":"1002","info":"床前明月光,疑是地上霜。举头望明月,低头思故乡。","name":"唐诗三百首"}
        Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光,疑是地上霜。举头望明月,低头思故乡。\",\"name\":\"唐诗三百首\"}",Book.class);
        System.out.println(book.getId());

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43515837/article/details/111145676
conseillé
Classement