fastjson整理思路

小白龙白龙马發表於2024-07-01

此處把常用的一些方法,簡單做個記錄。

做自動化時,我們傳送一個請求,返回的是一個字串。首先我們要把這個字串轉換為json物件

parseObject():將 JSON 字串解析為 Java 物件。

        String json = "{\"person\":{\"name\":\"Ivy\",\"age\":60}}";

        JSONObject jsonObject3 = JSON.parseObject(json);

        JSONObject personObject = jsonObject3.getJSONObject("person");
        String name3 = personObject.getString("name");

        System.out.println("Name: " + name3);

執行結果:Name: Ivy

=================================================================================

把字串轉為json物件後,我們需要獲取裡面的各種值

1、獲取物件為字串或者整數:

get(Object key) : 獲取 JSON 物件中的屬性值

如果value的值是string,則使用jsonObject.getString(value)方法

如果value的值是int,則使用jsonObject.getIntValue(value)方法

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "Ian");
        jsonObject.put("age", 60);

        String name = jsonObject.getString("name");
        int age = jsonObject.getIntValue("age");

        System.out.println("Name: " + name + ", Age: " + age);

執行結果:Name: Ian, Age: 60

getInteger(String key): 獲取 JSON 物件中的整數屬性值

public static void getIntegerExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("age", "80"); // 儲存為字串

    int age = jsonObject.getInteger("age"); // 解析為整數
    System.out.println("Age: " + age);
}








34. getLong(String key) : 獲取 JSON 物件中的長整數屬性值

  public static void getLongExample() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("age", "90"); // 儲存為字串

        long age = jsonObject.getLong("age"); // 解析為長整數
        System.out.println("Age: " + age);
    }










35. getShort(String key) : 獲取 JSON 物件中的短整數屬性值

public static void getShortExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("age", "100"); // 儲存為字串

    short age = jsonObject.getShort("age"); // 解析為短整數
    System.out.println("Age: " + age);
}




36. getByte(String key) : 獲取 JSON 物件中的位元組屬性值

public static void getByteExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("age", "110"); // 儲存為字串

    byte age = jsonObject.getByte("age"); // 解析為位元組
    System.out.println("Age: " + age);
}





37. getFloat(String key): 獲取 JSON 物件中的浮點數屬性值

 public static void getFloatExample() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("height", "175.5"); // 儲存為字串

        float height = jsonObject.getFloat("height"); // 解析為浮點數
        System.out.println("Height: " + height);
    }







38. getDouble(String key) : 獲取 JSON 物件中的雙精度浮點數屬性值

public static void getDoubleExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("weight", "65.5"); // 儲存為字串

    double weight = jsonObject.getDouble("weight"); // 解析為雙精度浮點數
    System.out.println("Weight: " + weight);
}







39. getBoolean(String key): 獲取 JSON 物件中的布林屬性值 public static void getBooleanExample() { JSONObject jsonObject = new JSONObject(); jsonObject.put("isStudent", "true"); // 儲存為字串 boolean isStudent = jsonObject.getBoolean("isStudent"); // 解析為布林值 System.out.println("Is Student: " + isStudent); } 40. getBigDecimal(String key): 獲取 JSON 物件中的 BigDecimal 屬性值 public static void getBigDecimalExample() { JSONObject jsonObject = new JSONObject(); jsonObject.put("price", "99.99"); // 儲存為字串 java.math.BigDecimal price = jsonObject.getBigDecimal("price"); // 解析為 BigDecimal System.out.println("Price: " + price); }

getJSONObject():獲取 JSON 物件中的子物件。

        String json = "{\"person\":{\"name\":\"Ivy\",\"age\":60}}";

        JSONObject jsonObject = JSON.parseObject(json);

        JSONObject personObject = jsonObject.getJSONObject("person");

        String name = personObject.getString("name");

        System.out.println("Name: " + name);

執行結果:Name: Ivy

getJSONArray():獲取 JSON 物件中的子陣列。

        String json = "{\"numbers\":[1, 2, 3, 4, 5]}";

        JSONObject jsonObject = JSON.parseObject(json);

        JSONArray numbersArray = jsonObject.getJSONArray("numbers");
        
        int sum = 0;

        for (Object num : numbersArray) {
            sum += (int) num;
        }

        System.out.println("Sum: " + sum);

執行結果:Sum: 15

size():獲取 JSON 物件或陣列的元素數量。

        String json = "{\"names\":[\"Mary\",\"Nancy\",\"Oliver\"]}";
        JSONObject jsonObject = JSON.parseObject(json);

        JSONArray namesArray = jsonObject.getJSONArray("names");

        int size = namesArray.size();

        System.out.println("Array Size: " + size);

執行結果:Array Size: 3

containsValue(Object value): 檢查 JSON 物件是否包含指定的值

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "Bob");
        jsonObject.put("age", 35);

        boolean containsName = jsonObject.containsValue("Bob");
        boolean containsGender = jsonObject.containsValue("Male");

        System.out.println("Contains Name: " + containsName);
        System.out.println("Contains Gender: " + containsGender);

執行結果:

Contains Name: true
Contains Gender: false

containsKey():檢查 JSON 物件是否包含指定的鍵。

        String json = "{\"name\":\"Peter\",\"age\":70}";
        JSONObject jsonObject = JSON.parseObject(json);


        boolean containsAge = jsonObject.containsKey("age");
        boolean containsEmail = jsonObject.containsKey("email");
        

        System.out.println("Contains Age: " + containsAge);
        System.out.println("Contains Email: " + containsEmail);

執行結果:

Contains Age: true
Contains Email: false

相關文章