サーチ…


前書き

Fastjsonは、JavaオブジェクトをJSON表現に変換するために使用できるJavaライブラリです。これは、JSON文字列を同等のJavaオブジェクトに変換するためにも使用できます。

Fastjsonの特徴:

サーバー側とアンドロイドクライアントで最高のパフォーマンスを提供

単純なtoJSONString()およびparseObject()メソッドを提供して、JavaオブジェクトをJSONに変換したり、逆も

既存の変更不可能なオブジェクトをJSONとの間で変換できるようにする

Java Genericsの広範なサポート

構文

  • オブジェクト解析(文字列テキスト)
  • JSONObject parseObject(文字列テキスト)
  • T parseObject(String text、Class <T> clazz)
  • JSONArray parseArray(文字列テキスト)
  • <T> List <T> parseArray(String text、Class <T> clazz)
  • String toJSONString(Objectオブジェクト)
  • String toJSONString(Object object、boolean prettyFormat)
  • Object toJSON(オブジェクトjavaObject)

Fastjsonを使用したJSONの解析

Fastjsonライブラリのサンプルを見ることができます

エンコード

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

出力

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

デコード

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

Group.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);
    }
}

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

タイプマップのデータをJSON Stringに変換する

コード

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

出力

{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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow