Java工具类——FastJson的40个常用方法

news2024/9/21 16:16:57

在这里插入图片描述那些想看却没看的书,在心里摆满一个图书馆…

工具类介绍

阿里巴巴的 FastJSON,也被称为 Alibaba FastJSON 或阿里巴巴 JSON,是一个高性能的 Java JSON 处理库,用于在 Java 应用程序中解析和生成 JSON 数据。FastJSON 以其卓越的性能和功能丰富的特点而闻名,并在阿里巴巴的开源项目和其他许多 Java 应用程序中广泛使用。

以下是 FastJSON 的主要特点和功能:

  1. 高性能: FastJSON 的性能非常出色,它被设计成一种极快的 JSON 库,可以在读取和写入 JSON 数据时实现卓越的性能。这使得 FastJSON 成为处理大量 JSON 数据的理想选择。

  2. 丰富的功能: FastJSON 提供了丰富的功能,包括将 Java 对象序列化为 JSON 格式和将 JSON 数据解析为 Java 对象。它支持复杂数据类型,包括嵌套对象、集合、数组等。

  3. 简单易用的 API: FastJSON 提供了简单易用的 API,使开发人员能够轻松地进行 JSON 数据的处理。你可以使用 FastJSON 将对象转换为 JSON 字符串,也可以将 JSON 字符串转换为 Java 对象。

  4. 自定义序列化和反序列化: FastJSON 允许你自定义如何将 Java 对象序列化为 JSON 数据以及如何将 JSON 数据反序列化为 Java 对象。这可以用于处理特定的数据格式或数据结构。

  5. 支持标准规范: FastJSON 支持 JSON 规范(RFC 7159),并能够处理 JSON 格式的各种细节,包括转义字符和特殊字符。

  6. 支持日期格式: FastJSON 具有内置的日期序列化和反序列化功能,可以处理日期数据的格式化和解析。

  7. 兼容性: FastJSON 兼容 Java 标准库中的 JSON API,如 javax.json,使得迁移或替换其他 JSON 库变得相对容易。

  8. 广泛应用: FastJSON 在阿里巴巴的许多产品和项目中广泛使用,包括阿里云和淘宝等。

FastJSON 是一个开源项目,你可以在 GitHub 上找到它的源代码和文档。它的活跃社区和持续的维护使其成为一个受欢迎的 JSON 处理库,适用于各种 Java 应用程序,从小型应用到大型分布式系统。

方法列举

FastJSON(阿里巴巴的 JSON 库)提供了大量的方法来处理 JSON 数据。以下是其中一些常用的方法,每个方法都附带了详细解释和示例代码,以及预期的结果。

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONArray;

1. toJSONString():将 Java 对象序列化为 JSON 字符串。

public static void toJSONStringExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", "John");
    jsonObject.put("age", 30);

    String jsonString = jsonObject.toJSONString();
    System.out.println(jsonString);
}

2. parseObject():将 JSON 字符串解析为 Java 对象。

public static void parseObjectExample() {
    String json = "{\"name\":\"Alice\",\"age\":25}";
    JSONObject jsonObject = JSON.parseObject(json);

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

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

3. toJSON():将 Java 对象转换为 JSON 对象。

public static void toJSONExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", "Alice");
    jsonObject.put("age", 25);

    JSONObject json = (JSONObject) JSON.toJSON(jsonObject);
    System.out.println(json.toJSONString());
}

4. parseArray():将 JSON 数组字符串解析为 Java 数组。

public static void parseArrayExample() {
    String jsonArray = "[1, 2, 3, 4, 5]";
    JSONArray intArray = JSON.parseArray(jsonArray);

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

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

5. toJavaObject():将 JSON 对象转换为指定类型的 Java 对象。

public static class Person {
    public String name;
    public int age;
}

public static void toJavaObjectExample() {
    String json = "{\"name\":\"Bob\",\"age\":28}";
    Person person = JSON.toJavaObject(JSON.parseObject(json), Person.class);

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

6. toJSONBytes():将 Java 对象序列化为 JSON 字节数组。

public static void toJSONBytesExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", "Charlie");
    jsonObject.put("age", 35);

    byte[] jsonBytes = JSON.toJSONBytes(jsonObject);
    String jsonString = new String(jsonBytes);
    System.out.println(jsonString);
}

7. toJSONStringWithDateFormat():使用指定日期格式将 Java 对象序列化为 JSON 字符串。

public static void toJSONStringWithDateFormatExample() {
    Date today = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", "David");
    jsonObject.put("birthDate", sdf.format(today));

    String jsonString = JSON.toJSONStringWithDateFormat(jsonObject, "yyyy-MM-dd");
    System.out.println(jsonString);
}

8. toJSONStringWithFilter():使用过滤器将 Java 对象序列化为 JSON 字符串。

public static class Person {
    public String name;
    public int age;
}

public static void toJSONStringWithFilterExample() {
    Person person = new Person();
    person.name = "Eve";
    person.age = 40;

    ValueFilter filter = (object, name, value) -> {
        if (name.equals("age")) {
            return null; // 不包括 "age" 字段
        }
        return value;
    };

    String jsonString = JSON.toJSONString(person, filter);
    System.out.println(jsonString);
}

9. parse():将 JSON 字符串解析为通用的 java.lang.Object 对象。

public static void parseExample() {
    String json = "{\"name\":\"Frank\",\"age\":45}";
    Object object = JSON.parse(json);

    if (object instanceof JSONObject) {
        JSONObject jsonObject = (JSONObject) object;
        String name = jsonObject.getString("name");
        int age = jsonObject.getIntValue("age");

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

10. isValid():检查 JSON 字符串是否合法。

public static void isValidExample() {
    String validJson = "{\"name\":\"Grace\",\"age\":50}";
    String invalidJson = "{name\":\"Helen\",\"age\":55}";

    boolean valid = JSON.isValid(validJson);
    boolean invalid = JSON.isValid(invalidJson);

    System.out.println("Valid JSON: " + valid);
    System.out.println("Invalid JSON: " + invalid);
}

11. getJSONObject():获取 JSON 对象中的子对象。

public static void getJSONObjectExample() {
    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);
}

12. getJSONArray():获取 JSON 对象中的子数组。

public static void getJSONArrayExample() {
    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);
}

13. merge():合并两个 JSON 对象。

public static void mergeExample() {
    String json1 = "{\"name\":\"Jack\"}";
    String json2 = "{\"age\":35}";

    JSONObject jsonObject1 = JSON.parseObject(json1);
    JSONObject jsonObject2 = JSON.parseObject(json2);

    jsonObject1.putAll(jsonObject2);
    System.out.println(jsonObject1.toJSONString());
}

14. size():获取 JSON 对象或数组的元素数量。

public static void sizeExample() {
    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);
}

15. containsKey():检查 JSON 对象是否包含指定的键。

public static void containsKeyExample() {
    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);
}

16. keySet():获取 JSON 对象的键集合。

public static void keySetExample() {
    String json = "{\"name\":\"Quincy\",\"age\":75}";
    JSONObject jsonObject = JSON.parseObject(json);

    Set<String> keys = jsonObject.keySet();
    for (String key : keys) {
        System.out.println("Key: " + key);
    }
}

17. values():获取 JSON 对象的值集合。

public static void valuesExample() {
    String json = "{\"name\":\"Rachel\",\"age\":80}";
    JSONObject jsonObject = JSON.parseObject(json);

    Collection<Object> values = jsonObject.values();
    for (Object value : values) {
        System.out.println("Value: " + value);
    }
}

18. remove():从 JSON 对象中删除指定的键。

public static void removeExample() {
    String json = "{\"name\":\"Sam\",\"age\":85}";
    JSONObject jsonObject = JSON.parseObject(json);

    jsonObject.remove("age");
    System.out.println(jsonObject.toJSONString());
}

19. clear():清空 JSON 对象中的所有键值对。

public static void clearExample() {
    String json = "{\"name\":\"Tom\",\"age\":90}";
    JSONObject jsonObject = JSON.parseObject(json);

    jsonObject.clear();
    System.out.println(jsonObject.toJSONString());
}

20. isEmpty():检查 JSON 对象是否为空。

public static void isEmptyExample() {
    JSONObject jsonObject = new JSONObject();

    boolean empty = jsonObject.isEmpty();
    System.out.println("Is Empty: " + empty);
}

21. putAll(Map<? extends String, ? extends V> map): 向 JSON 对象中添加键值对

    public static void putAllExample() {
        JSONObject jsonObject = new JSONObject();
        JSONObject additionalData = new JSONObject();
        additionalData.put("email", "john@example.com");
        additionalData.put("phone", "123-456-7890");

        jsonObject.putAll(additionalData);
        System.out.println(jsonObject.toJSONString());
    }

22. size(): 获取 JSON 对象的元素数量

    public static void sizeExample() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "Alice");
        jsonObject.put("age", 30);

        int size = jsonObject.size();
        System.out.println("Size: " + size);
    }

23. containsValue(Object value): 检查 JSON 对象是否包含指定的值

    public static void containsValueExample() {
        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);
    }

24. keySet(): 获取 JSON 对象的键集合

public static void keySetExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", "Charlie");
    jsonObject.put("age", 40);

    Set<String> keys = jsonObject.keySet();
    for (String key : keys) {
        System.out.println("Key: " + key);
    }
}

25. values(): 获取 JSON 对象的值集合

   public static void valuesExample() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "David");
        jsonObject.put("age", 45);

        Collection<Object> values = jsonObject.values();
        for (Object value : values) {
            System.out.println("Value: " + value);
        }
    }

26. entrySet(): 获取 JSON 对象的键值对集合

public static void entrySetExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", "Eve");
    jsonObject.put("age", 50);

    Set<java.util.Map.Entry<String, Object>> entrySet = jsonObject.entrySet();
    for (java.util.Map.Entry<String, Object> entry : entrySet) {
        System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
    }
}

27. putIfAbsent(String key, Object value): 如果不存在键,则向 JSON 对象添加键值对

public static void putIfAbsentExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", "Frank");

    jsonObject.putIfAbsent("age", 55); // 添加 "age" 键
    jsonObject.putIfAbsent("name", "George"); // 不添加 "name" 键

    System.out.println(jsonObject.toJSONString());
}

28. put(String key, Object value): 向 JSON 对象添加键值对

   public static void putExample() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "Helen");

        System.out.println(jsonObject.toJSONString());
    }

29. get(Object key) : 获取 JSON 对象中的属性值

public static void getExample() {
    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);
}

30. remove(Object key) : 从 JSON 对象中删除指定的键

public static void removeExample() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", "Jack");
    jsonObject.put("age", 65);

    jsonObject.remove("age");
    System.out.println(jsonObject.toJSONString());
}

31. putOnce(String key, Object value) : 如果不存在键,则向 JSON 对象添加键值对

  public static void putOnceExample() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "Kathy");

        jsonObject.putOnce("age", 70); // 添加 "age" 键
        jsonObject.putOnce("name", "Laura"); // 不添加 "name" 键

        System.out.println(jsonObject.toJSONString());
    }

32. putAll(JSONObject m) : 将另一个 JSON 对象中的键值对添加到当前 JSON 对象

public static void putAllJSONObjectExample() {
    JSONObject jsonObject1 = new JSONObject();
    jsonObject1.put("name", "Mike");

    JSONObject jsonObject2 = new JSONObject();
    jsonObject2.put("age", 75);
    jsonObject2.put("email", "mike@example.com");

    jsonObject1.putAll(jsonObject2);
    System.out.println(jsonObject1.toJSONString());
}

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1132494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中国企业数据安全:DataSecurity Plus的利器

在当今数字时代&#xff0c;数据是企业最宝贵的资产之一。保护企业的数据不仅关乎商业机密&#xff0c;还关系到客户隐私和法律合规性。因此&#xff0c;数据安全已经成为每家企业不可忽视的重要议题。为了满足这一需求&#xff0c;ManageEngine公司推出了一款强大的数据安全解…

金融行业网络安全保护与三级等保合规实施方案

金融行业网络安全保护与三级等保合规实施方案旨在帮助金融机构实施符合三级等保标准的网络安全保护措施。以下是一个基本的实施方案概述&#xff1a; 评估和规划&#xff1a; 进行风险评估&#xff1a;评估网络系统的风险&#xff0c;确定安全威胁、弱点和潜在风险。 确定等级…

编译Layabox源码出现npm错误和anywhere错误

出现的错误如下图&#xff1a; 原因是node的版本太低&#xff0c;原来用的是6.11.2升级到10.10.0版本问题解决 编译完成后&#xff0c;使用anywhere出现以下错误&#xff0c; 解决方法&#xff1a; 成功&#xff01; 参考链接&#xff1a; LayaAir示例项目源码编译运行问题 -…

vue数组中的变更方法和替换方法

变更方法&#xff1a; Vue 能够侦听响应式数组的变更方法&#xff0c;并在它们被调用时触发相关的更新。这些变更方法包括: push&#xff08;&#xff09;:在数组末尾添加一个或者多个元素&#xff0c;返回新的长度。 var arr [1, 2, 3, 4, 5]; // 定义一个数组 arr.push(6…

2023年CSP-S赛后总结

目录 T1 题目描述 输入格式 输出格式 T2 题目描述 输入格式 输出格式 题目描述 输入格式 输出格式 题意翻译 T3 题目背景 题目描述 输入格式 输出格式 T4 题目描述 输入格式 输出格式 总结 T1 题目描述 小 Y 有一把五个拨圈的密码锁。如图所示&#xff0…

C++环境配置【学习笔记(一)】

文章目录 1、安装 VS Code 插件2、VS Code SSH远程连接Ubuntu主机3、编写py程序及 debug4、编写C程序5、C程序的 debug6、附录&#xff1a;vs code 中变量解释 C开发工具&#xff1a;Visual Studio Code 下载地址&#xff1a; 地址 其中本文将介绍使用 VS Code ssh 远程连接 a…

自建田间作物场景杂草检测数据,基于YOLOv5[n/s/m/l/x]全系列参数模型开发构建杂草检测识别分析系统

在前文中我们已经开发实践了杂草相关检测&#xff0c;感兴趣可以自行移步阅读即可&#xff1a; 《自建数据集&#xff0c;基于YOLOv7开发构建农田场景下杂草检测识别系统》 《激光除草距离我们实际的农业生活还有多远&#xff0c;结合近期所见所感基于yolov8开发构建田间作物…

WebDAV之π-Disk派盘 +Polaris Office

推荐一款可以实现在Windows桌面PC,Mac,Android设备和iOS设备上同步的移动办公软件,还支持通过WebDAV添加葫芦儿派盘。Polaris Office是一款功能全面的办公自动化套件,软件集成了Word、Excel、幻灯片(PPT)、ODT等文档格式,并且可以完美兼容任何Microsoft Office,PDF,TXT或…

快速幂算法(数论)

1. 递归快速幂&#xff1a; pow(2,8)2^4 * 2^4 (2^2 * 2^2) * (.....) pow(2,7) 2^6*2 (2^3 * 2^3)*2 (......) 负数也是同样原理 2. 非递归快速幂&#xff1a; 将次方转为2进制&#xff1a;进行计算 以7的10次方为例&#xff1a; 每次计算a累乘 eg.第二位对应--->p…

Elasticsearch安装IK分词器

ik分词包 参考博客、参考博客 将下载好的zip包解压&#xff0c;生成一个ik文件夹 将ik文件夹移动到ES安装目录下的plugins文件夹下&#xff08;每台ES节点都要执行相同的操作&#xff09; 重启ES集群 坑

电力巡检/电力抢修行业解决方案:AI+视频技术助力解决巡检监管难题

一、行业背景 随着国民经济的蓬勃发展&#xff0c;工业用电和居民用电需求迅速增加&#xff0c;电厂、变电站、输电线路高负荷运转&#xff0c;一旦某个节点发生故障&#xff0c;对生产、生活造成巨大的影响。目前电力行业生产现场人员、设备较多&#xff0c;而生产监督员有限…

Jenkins入门级安装部署

前言 Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使软件项目可以进行持续集成。通常&#xff0c;项目中常用Jenkins作为编译打包项目的工具&#xff0…

Mysql JDBC反序列化漏洞

参考文章&#xff1a;梅子酒の笔记本 https://www.mi1k7ea.com/2021/04/23/MySQL-JDBC%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E6%BC%8F%E6%B4%9E/ 小白看得懂的MySQL JDBC 反序列化漏洞分析 - 先知社区 MySQL JDBC反序列化漏洞 [ Mi1k7ea ] MySQL JDBC 客户端反序列化漏洞分…

双11商品售价不再出错!金鱼电器:价格自动监控,全年节省人天365

价格已成为双11吸引消费者的“杀手锏”&#xff0c;很多人“趴”在网上想“捡便宜”。但对商家而言&#xff0c;在设置价格的同时&#xff0c;还需要对活动价格自检以防出现“羊毛产品”&#xff0c;对竞品价格监控以防销量下滑&#xff0c;对乱价经销商留证以防品牌形象受损……

应用案例|基于高精度三维机器视觉的检测汽车座椅应用

Part.1 项目背景 检测汽车座椅是一个复杂的应用场景&#xff0c;需要综合运用多种技术和算法来实现。在这个场景中&#xff0c;通过使用3D视觉技术来感知汽车座椅的位置、形状和特征&#xff0c;使用摄像头或激光扫描仪等设备来获取汽车座椅的三维信息。然后利用这些信息来准确…

Systemd服务内存占用高的处理

参考文章 ### https://blog.csdn.net/weixin_44821644/article/details/121095406## https://blog.csdn.net/c123m/article/details/124301104 现象 检查 操作系统是4C8G&#xff0c;systemd的内存使用率比较高。操作系统日志没看到异常。很多服务通过systemd托管 ## 检查有…

基于springboot实现乐校园二手书交易管理系统【项目源码+论文说明】计算机毕业设计

基于springboot实现乐校园二手书交易管理系统演示 摘要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括乐校园二手书交易管理系统的网络应用&#xff0c;在外国二手书交易管理系统已经是很普遍的方式&#xff0c;不过国内的…

用C++写个简单的程序表白老妈

后天就是老妈的生日了&#xff0c;我打算写一个简单的程序表白老妈子&#xff0c;来肉麻一下她。在实现的过程中&#xff0c;有不少我没学过的知识&#xff0c;这些知识我都会予以补充。 创建图形窗口 创建图形窗口要包头文件&#xff1a; #include<easyx.h> 这是简单…

WordPress主题模板 大前端D8 5.1版本完整开源版源码简洁大气多功能配置

源码测评&#xff1a;该模板官方已更新至5.2&#xff0c;但是这个5.1也是非常好用的&#xff0c;经测试所有页面均完好&#xff0c;推荐下载使用。 模板简介&#xff1a; 大前端D8 主题是一款非常牛逼的WordPress博客主题,响应式,功能齐全,支持手机,电脑,平板,非常适合做博客站…

vue项目,程序控制台不报错,但是也没有达到预期

敲代码时&#xff0c;有时控制台不报错&#xff0c;但是也不如预期那样展示 1&#xff0c;需要打断点&#xff0c;有可能是某个对象没有值&#xff0c;比如axios.js&#xff0c;如图所示&#xff1a; error里面不一定有msg&#xff0c;所以直接《error.msg.indexOf(cancelCach…