fastjson整理思路

此处把常用的一些方法,简单做个记录。

 

做自动化时,我们发送一个请求,返回的是一个字符串。首先我们要把这个字符串转换为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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

示例:JSONArray相关

        String a = "{\n" +
                "    \"sites\": [\n" +
                "        { \"name\":\"菜鸟教程\" , \"url\":\"www.runoob.com\" }, \n" +
                "        { \"name\":\"google\" , \"url\":\"www.google.com\" }, \n" +
                "        { \"name\":\"微博\" , \"url\":\"www.weibo.com\" }\n" +
                "    ]\n" +
                "}";



        JSONObject jsonObject = JSON.parseObject(a);



        JSONArray data = jsonObject.getJSONArray("sites");

        System.out.println(data.size());

        System.out.println(data.getString(0));


        JSONObject dd = JSON.parseObject(data.getString(1));

        System.out.println(dd.get("name"));
        System.out.println(dd.get("url"));

执行结果:

3
{"name":"菜鸟教程","url":"www.runoob.com"}
google
www.google.com

 

posted @ 2024-07-01 23:07  小白龙白龙马  阅读(14)  评论(0编辑  收藏  举报