fastjson转实体类key默认忽略大小写
时间: 2023-09-09 10:10:17 浏览: 71
是的,fastjson在转换JSON字符串为Java对象时,默认情况下会忽略key的大小写。如果JSON字符串中的key与Java对象中的属性名相同(忽略大小写),那么fastjson会自动将其转换为对应的属性值。如果JSON字符串中的key与Java对象中的属性名不一致,则需要在Java对象的属性上使用@JSONField注解来指定对应的key值。
例如,假设有如下JSON字符串:
```
{
"name": "张三",
"age": 18
}
```
对应的Java对象为:
```
public class Person {
private String name;
private int age;
// 省略getter/setter方法
}
```
使用fastjson将JSON字符串转换为Person对象时,可以直接调用JSON.parseObject方法:
```
String jsonStr = "{\"name\":\"张三\",\"age\":18}";
Person person = JSON.parseObject(jsonStr, Person.class);
```
此时,fastjson会自动将JSON字符串中的"name"和"age"对应到Person对象的name和age属性上,忽略大小写。
相关问题
java,fastjson,实体类转成json
在 Java 中,可以使用 fastjson 库将实体类转换成 JSON 格式的字符串。下面是一个简单的示例:
假设有一个 Student 类,包含 id、name 和 age 三个属性:
```java
public class Student {
private int id;
private String name;
private int age;
public Student(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
// getter 和 setter 方法省略...
}
```
我们可以使用 fastjson 的 JSON.toJSONString() 方法将 Student 对象转换成 JSON 字符串:
```java
Student student = new Student(1, "张三", 20);
String jsonString = JSON.toJSONString(student);
System.out.println(jsonString);
```
输出结果为:
```
{"age":20,"id":1,"name":"张三"}
```
可以看到,fastjson 将 Student 对象的属性转换成了 JSON 对象的键值对,并且按照字母顺序排序了键。
如果需要将 JSON 字符串转换成 Java 对象,可以使用 JSON.parseObject() 方法:
```java
String jsonString = "{\"age\":20,\"id\":1,\"name\":\"张三\"}";
Student student = JSON.parseObject(jsonString, Student.class);
```
这里将 JSON 字符串和目标对象的类作为参数传入,fastjson 会根据字符串中的键值对自动填充目标对象的属性。
fastjson转成java实体类
使用 Fastjson 将 JSON 转换成 Java 实体类可以通过以下步骤实现:
1. 导入 Fastjson 的依赖包:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
```
2. 创建一个 Java 实体类,属性名与 JSON 中的键名一致:
```java
public class User {
private String name;
private int age;
// getter 和 setter 方法
}
```
3. 使用 Fastjson 将 JSON 转换成 Java 实体类:
```java
String jsonStr = "{\"name\":\"Tom\", \"age\":20}";
User user = JSON.parseObject(jsonStr, User.class);
```
在上面的代码中,首先定义了一个 JSON 字符串,然后使用 `JSON.parseObject()` 方法将 JSON 转换成 Java 实体类。其中,第一个参数是 JSON 字符串,第二个参数是目标 Java 实体类的类型。
4. 使用 Java 实体类中的属性:
```java
System.out.println(user.getName()); // 输出 "Tom"
System.out.println(user.getAge()); // 输出 20
```
可以通过 Java 实体类中的 getter 方法获取属性值,从而对 JSON 数据进行操作。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)