当前位置: 首页 > news >正文

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

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

工具库介绍

阿里巴巴的 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}";JSONObjectjsonObject = 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"); // 解析为 BigDecimalSystem.out.println("Price: " + price);
}

相关文章:

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

那些想看却没看的书&#xff0c;在心里摆满一个图书馆… 工具库介绍 阿里巴巴的 FastJSON&#xff0c;也被称为 Alibaba FastJSON 或阿里巴巴 JSON&#xff0c;是一个高性能的 Java JSON 处理库&#xff0c;用于在 Java 应用程序中解析和生成 JSON 数据。FastJSON 以其卓越的性…...

基于ssm的宠物医院管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…...

RocketMQ学习笔记(一)

RocketMQ学习笔记 消息中间件应用场景 应用解耦削峰填谷数据分发 常见的消息中间件 ActiveMQ&#xff1a;Apache出品&#xff0c;比较老的一个开源的消息中间件&#xff0c;以前在中小企业应用广泛Kafka&#xff1a;Apache软件基金会开发的一个开源流处理平台&#xff0c;由…...

JavaScript-2-菜鸟教程

字符串 可以使用 索引 位置访问字符串中的每个字符 可以使用内置属性 length 来计算字符串的长度 var txt "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln txt.length;<script>var x "John"; // x是一个字符串// 使用 new 关键字将字符…...

发布开源项目到 jitpack

--- theme: github highlight: a11y-dark --- # 发布项目到 jitpack ## *(Gradle7.x 的版本已不适用 android-maven 的方法发布)* ## 1.在要发布android module下的 build.grdle 添加,多个module就添加多个 plugins{ id maven-publish } task sourceJar(type: Jar) { …...

TeeChart for .NET 2023.10.19 Crack

TeeChart.NET 的 TeeChart 图表控件提供了一个出色的通用组件套件&#xff0c;可满足无数的图表需求&#xff0c;也针对重要的垂直领域&#xff0c;例如金融、科学和统计领域。 数据可视化 数十种完全可定制的交互式图表类型、地图和仪表指示器&#xff0c;以及完整的功能集&am…...

代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球

代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球 文章链接&#xff1a;柠檬水找零 根据身高重建队列 用最少数量的箭引爆气球 视频链接&#xff1a;柠檬水找零 根据身高重建队列 …...

完美解决configure: error: APR not found. Please read the documentation.

目录 一、问题&#xff1a; 二、原因&#xff1a; 三、解决方法&#xff1a; 一、问题&#xff1a; ./configure 出现如下问题&#xff1a; configure: error: APR not found. Please read the documentation. 二、原因&#xff1a; 配置&#xff1a;错误&#xff1a;找不…...

Jenkins部署失败:JDK ‘jdk1.8.0_381‘ not supported to run Maven projects

Jenkins部署报错&#xff1a;JDK ‘jdk1.8.0_381’ not supported to run Maven projects提示使用的jdk有问题&#xff0c;启动的jdk版本不能满足项目启动。 登录Jenkins管理页面&#xff0c;系统管理——全局工具配置——JDK安装配置满足条件的JDK版本&#xff0c;保存配置&…...

xml导出pdf简单实现

1. 引入依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>8.0.1</version> </dependency>2. 代码实现 import com.itextpdf.kernel.geom.PageSize; import com.itextpdf.ker…...

JAVAEE初阶相关内容第十六弹--网络编程

写在前 这一节的内容首先是对十五弹&#xff08;UDP回显服务器&#xff09;进行简单的改进&#xff0c;在这基础上开始介绍TCP流套接字编程。 目录 写在前 1.改进回显服务器 1.1完整代码实现 1.2运行输出结果 2.TCP流套接字编程 2.1ServerSocketAPI 2.2SocketAPI 3.TC…...

Python---练习:使用for循环嵌套实现打印九九乘法表

思考&#xff1a; 外层循环主要用于控制循环的行数&#xff0c;内层循环用于控制列数。 基本语法&#xff1a; # 外层循环 for i in 序列1:# 内层循环for j in 序列2:循环体 序列1 序列2 &#xff0c;就可以是range(1, 10) -----也就是从1&#xff0c;到9。 参考while循环…...

mac安装并使用wireshark

mac安装并使用wireshark 1 介绍 我们在日常开发过程中&#xff0c;遇到了棘手的问题时&#xff0c;免不了查看具体网络请求情况&#xff0c;这个时候就需要用到抓包工具。比较著名的抓包工具就属&#xff1a;wireshark、fildder。我这里主要介绍wireshark。 2 安装 以mac安装为…...

torch张量的降维与升维

文章目录 一、降维和升维未完待续.... 一、降维和升维 squeeze和unsqueeze是torch张量常用的降维与升维的一种方式&#xff0c;但这种方式只能增添或减少大小为1的维度&#xff0c;如下&#xff1a; x1 torch.randn(1, 8, 256, 256) x1 torch.squeeze(x1,dim0) print(x1.sh…...

八大排序算法(C语言版)之插入排序

八大排序详解 目录&#xff1a;一、排序的概念1.1 排序的概念1.2 排序的应用 二、直接插入排序三、希尔排序四、排序算法复杂度及稳定性分析 目录&#xff1a; 八大排序算法&#xff1a; #mermaid-svg-7qCaGEYz0Jyj9dYw {font-family:"trebuchet ms",verdana,arial,…...

Linux系统安装redis并配置为服务

一、Linux环境 1、下载 官网提供的源码下载地址&#xff1a; https://github.com/redis/redis/archive/7.0.5.tar.gz 2、将源码上传至服务器 3、解压缩 # 将解压缩后的文件放置在同目录的source文件夹下 tar -zxvf redis-7.0.5.tar.gz -C ./source4、编译安装 对源码进行编…...

DDIO和DMA有什么区别

DDIO 和 DMA 的区别 DDIO (Data Direct I/O Technology) 主要应用: 主要用于网卡和CPU之间的数据传输。工作原理: 通过CPU的Last Level Cache (LLC) 直接与外部网卡交换数据&#xff0c;绕过了主存储器。优点: 减少了CPU和网卡等待内存的时间。提高了数据包的处理速度。减少了…...

【MATLAB源码-第58期】基于蛇优化算法(SO)和粒子群优化算法(PSO)的栅格地图路径规划最短路径和适应度曲线对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 粒子群算法 (Particle Swarm Optimization, PSO) 1. 算法概述 粒子群算法是一种基于群体智能的优化算法&#xff0c;模拟鸟群觅食的行为。算法中的每个粒子代表问题的一个可能解&#xff0c;并且具有位置和速度两个属性。粒…...

nlp与知识图谱代码解读

词嵌入 简单原理 我们要给一群14岁的孩子讲解词嵌入。可以使用一些比喻和生活中的例子&#xff1a; 老师&#xff1a; 你们还记得玩乐高积木的时候&#xff0c;每个积木块代表了一个特定的事物或形状吗&#xff1f;现在&#xff0c;想象一下&#xff0c;每个词都像是一个乐高…...

Redis设计与实现(3)字典

Redis的字典使用哈希表作为底层实现&#xff0c;一个哈希表里面可以有多个哈希表节点&#xff0c;而每一个哈希表节点就保存了字典中的一个键值对 redis字典所使用的哈希表由dict.h/dictht typedef struct dictht{//哈希表数组dictEntry **table;//哈希表大小unsigned long si…...

STM32MP157D BSP

一&#xff0c;全志R16、IMX6ULL和STM32MP157D启动相关 1&#xff0c;IMX6ULL是EMMC启动后&#xff0c;通过uboot fat命令的load进内存进行启动测试 2&#xff0c;openedv应该也是参考的官方的板子&#xff0c;类似调试口等均应该是一致的&#xff0c;所以目前就是用正点原子…...

最新SQL注入漏洞修复建议

点击星标&#xff0c;即时接收最新推文 本文选自《web安全攻防渗透测试实战指南&#xff08;第2版&#xff09;》 点击图片五折购书 SQL注入漏洞修复建议 常用的SQL注入漏洞的修复方法有两种。 1&#xff0e;过滤危险字符 多数CMS都采用过滤危险字符的方式&#xff0c;例如&…...

新人FPGA验证书籍推荐

1、FPGA之道 推荐理由&#xff1a;FPGA基础知识讲解全面&#xff0c;可以作为参考书时常翻阅&#xff1b; 2、Verilog数字系统设计教程 推荐理由&#xff1a;FPGA语法详细的介绍&#xff0c;案例比较有代表性&#xff1b; 工具类书籍推荐&#xff1a; 3、ModelSim电子系统…...

TypeError: data.reduce is not a function:数据类型不匹配

错误展示&#xff1a; 错误分析&#xff1a; 首先来看看前端代码&#xff1a;我表格绑定的数据模型是tableData&#xff0c;而我tableData定义的是一个数组 其次看看后端给的数据&#xff1a; 传递的是一个对象&#xff0c;而不是一个数组&#xff01; 这样原因就找出了&…...

出租屋智能视频监控系统方案:全面保卫租客安全

除了我们常见的家庭、社区、园区等智能监控&#xff0c;出租房作为很多人的暂住所也极易发生盗窃等事件&#xff0c;为保障大众租户的财产安全&#xff0c;旭帆科技特地针对出租屋制定了智能监控系统方案。 1、安装智能安防摄像头 高清晰度、夜视功能良好的智能摄像头&#xf…...

代码解读-自然语言处理

目录 demo3文本转为向量代码解读给出每一步的输出 demo3文本转为向量 代码 from tensorflow.keras.preprocessing.text import Tokenizer # 标记器(每一个词&#xff0c;以我们的数值做映射&#xff0c;)words [LaoWang has a Wechat account., He is not a nice person., …...

docker指令

镜像操作&#xff1a; # 搜索镜像 docker search image_name # 搜索结果过滤&#xff1a;是否是官方 docker search --filter --filter is-official image_name # 搜索结果过滤&#xff1a;是否是自动化构建 docker search --filter --filter is-automated image_name # 搜索结…...

【MySql】9- 实践篇(七)

文章目录 1. 一主多从的主备切换1.1 基于位点的主备切换1.2 GTID1.3 基于 GTID 的主备切换1.4 GTID 和在线 DDL 2. 读写分离问题2.1 强制走主库方案2.2 Sleep 方案2.3 判断主备无延迟方案2.4 配合 semi-sync方案2.5 等主库位点方案2.6 GTID 方案 3. 如何判断数据库是否出问题了…...

Maven compile时报错 系统资源不足,出现OOM:GC overhead limit exceeded

今天在对项目进行Maven clean compile的时候&#xff0c;报出了如下的错误&#xff0c; 系统资源不足。 有关详细信息&#xff0c;请参阅一下堆栈跟踪。 java.lang.OutOfMemoryError: GC overhead limit exceededat java.util.EnumSet.noneOf(EnumSet.java:115)at com.sun.too…...

启动内核ip转发和其他优化

1.临时修改 echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse 2.配置文件修改 vim /etc/sysctl.conf net.ipv4.ip_forward 1 net.ipv4.tcp_tw_reuse 1 vm.swappiness 0 kernel.sysrq 1 net.ipv4.neigh.default.gc_stale_t…...