fastjsonの一般的な方法

4200 ワード

fastjsonで最もよく使われるのはJSONクラスとJSONObjectクラスで、以下は1.2.35バージョンを例に、その簡単な使用を説明します.
注:変換中に使用されるオブジェクトには、get/setメソッドとパラメトリックなし関数が必要です.

JSONクラス

JSONのメソッドは基本的に静的メソッドであり、直接呼び出すことができる.そのすべての方法は2つの大きなクラスに分けることができます:1.オブジェクトをjson文字列に変換します.2.json文字列をオブジェクトに変換します.

オブジェクト回転json文字列

public static String toJSONString(Object object)
この方法を使用して、任意のオブジェクトをjson文字列に変換できます.
User user = new User("  ","admin");
String json = JSON.toJSONString(user); // {"password":"admin","userName":"  "}

Map map = new HashMap();
map.put("userName","  ");
map.put("password","admin");
String json = JSON.toJSONString(map);// {"password":"admin","userName":"  "}

List userList = new ArrayList();
userList.add(new User("  ","admin"));
userList.add(new User("  1","admin1"));
json = JSON.toJSONString(userList); //[{"password":"admin","userName":"  "},{"password":"admin1","userName":"  1"}]
toJSONStringメソッドでは、日付をタイムスタンプに変換します.日付を指定したフォーマットの文字列に変換するには、toJSONStringWithDateFormatを使用します.
User user = new User("  ","admin",new Date());
json = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd HH:mm:ss");
// {"birthday":"2017-08-11 11:13:19","password":"admin","userName":"  "}
JSONの中にはDEFFAULT_DATE_FORMAT:public static String DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";があり、直接使用できます.
JSON.toJSONStringWithDateFormat(user, JSON.DEFFAULT_DATE_FORMAT);

jsonオブジェクトシリアルオブジェクト

public static T parseObject(String text, Class clazz) public static JSONObject parseObject(String text)
String json = JSON.toJSONString(new User("  ","admin")); //     json   
User user = JSON.parseObject(json, User.class);
System.out.println(user); //User{userName='  ', password='admin', birthday=null}

// Map map = JSON.parseObject(json,Map.class);
Map map = JSON.parseObject(json);
System.out.println(map); // {password=admin, userName=  }

なお、上記の例では、Mapに移行すると、2番目のパラメータをデフォルトで設定することができる.parseObject(String text)はjson文字列をJSONObjectに変換し、JSONObjectMapを実現するので、Mapに直接変換することができる.

JSOnObject類

JSONを継承し、Map:public class JSONObject extends JSON implements Mapを実現しました.
したがってJSONの中のすべてのメソッドを呼び出すことができ、Mapのように使用することもできます.JSONObjectクラスはMapオブジェクトを作成し、JSONObjectを操作すると、実際にはMapのメソッドが呼び出される.
public JSONObject(int initialCapacity, boolean ordered){
    if (ordered) {
        map = new LinkedHashMap(initialCapacity); //         
    } else {
        map = new HashMap(initialCapacity); //       
    }
}

使用例:
JSONObject jsonObject = new JSONObject();
jsonObject.put("userName","  ");
jsonObject.put("password","admin");
System.out.println(jsonObject.toJSONString()); //{"password":"admin","userName":"  "}

jsonObject = new JSONObject(true); //        JSONObject
jsonObject.put("userName","  ");
jsonObject.put("password","admin");
System.out.println(jsonObject.toJSONString()); //{"userName":"  ","password":"admin"}

User user = jsonObject.toJavaObject(User.class);
System.out.println(user); //User{userName='  ', password='admin', birthday=null}