Buscar..


Introducción

Fastjson es una biblioteca de Java que se puede usar para convertir objetos Java en su representación JSON. También se puede utilizar para convertir una cadena JSON en un objeto Java equivalente.

Características de Fastjson:

Proporcionar el mejor rendimiento en el lado del servidor y el cliente de Android

Proporcione toJSONString() simples toJSONString() y parseObject() para convertir objetos Java a JSON y viceversa

Permitir que los objetos no modificables preexistentes se conviertan ay desde JSON

Amplio soporte de Java Generics

Sintaxis

  • Objeto parse (texto de cadena)
  • JSONObject parseObject (texto de cadena)
  • T parseObject (String text, Class <T> clazz)
  • JSONArray parseArray (texto de cadena)
  • <T> List <T> parseArray (texto de cadena, clase <T> garabato)
  • String toJSONString (objeto objeto)
  • String toJSONString (objeto Object, boolean prettyFormat)
  • Object toJSON (Object javaObject)

Analizando JSON con Fastjson

Puedes ver el ejemplo en la biblioteca de Fastjson.

Codificar

import com.alibaba.fastjson.JSON;

Group group = new Group();
group.setId(0L);
group.setName("admin");

User guestUser = new User();
guestUser.setId(2L);
guestUser.setName("guest");

User rootUser = new User();
rootUser.setId(3L);
rootUser.setName("root");

group.addUser(guestUser);
group.addUser(rootUser);

String jsonString = JSON.toJSONString(group);

System.out.println(jsonString);

Salida

{"id":0,"name":"admin","users":[{"id":2,"name":"guest"},{"id":3,"name":"root"}]}

Descodificar

String jsonString = ...;
Group group = JSON.parseObject(jsonString, Group.class);

Grupo.java

public class Group {

    private Long id;
    private String name;
    private List<User> users = new ArrayList<User>();

    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public List<User> getUsers() {
        return users;
    }

    public void setUsers(List<User> users) {
        this.users = users;
    }

    public void addUser(User user) {
        users.add(user);
    }
}

Usuario.java

public class User {

    private Long   id;
    private String name;

    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

Convertir los datos de tipo Map to JSON String

Código

    Group group = new Group();  
    group.setId(1);  
    group.setName("Ke");  
      
    User user1 = new User();  
    user1.setId(2);  
    user1.setName("Liu");  

    User user2 = new User();  
    user2.setId(3);  
    user2.setName("Yue");  
    group.getList().add(user1);  
    group.getList().add(user2);  
      
    Map<Integer, Object> map = new HashMap<Integer,Object>();  
    map.put(1, "No.1");  
    map.put(2, "No.2");  
    map.put(3, group.getList());  
      
    String jsonString = JSON.toJSONString(map);  
    System.out.println(jsonString);  

Salida

{1:"No.1",2:"No.2",3:[{"id":2,"name":"Liu"},{"id":3,"name":"Yue"}]} 


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow