java 结构体转json_struct,map,json 互相转换
时间: 2023-11-08 19:03:28 浏览: 49
Java中没有结构体的概念,但是可以使用类或者对象来模拟结构体的功能。对于类或者对象转换成JSON格式的字符串,可以使用Jackson、Gson等第三方库来实现。
下面是一个使用Jackson将Java对象转换为JSON格式的示例:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
public class Person {
private String name;
private int age;
private String address;
// 省略 getter 和 setter 方法
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
Person person = new Person();
person.setName("张三");
person.setAge(18);
person.setAddress("北京市");
String jsonStr = mapper.writeValueAsString(person);
System.out.println(jsonStr);
}
}
```
输出结果如下:
```
{"name":"张三","age":18,"address":"北京市"}
```
对于JSON格式的字符串转换成Java对象或者Map,也可以使用Jackson库来实现。
下面是一个使用Jackson将JSON格式的字符串转换为Java对象的示例:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
public class Person {
private String name;
private int age;
private String address;
// 省略 getter 和 setter 方法
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
String jsonStr = "{\"name\":\"张三\",\"age\":18,\"address\":\"北京市\"}";
Person person = mapper.readValue(jsonStr, Person.class);
System.out.println(person.getName());
System.out.println(person.getAge());
System.out.println(person.getAddress());
}
}
```
输出结果如下:
```
张三
18
北京市
```
对于JSON格式的字符串转换成Map,也可以使用Jackson库来实现。
下面是一个使用Jackson将JSON格式的字符串转换为Map的示例:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;
public class Test {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
String jsonStr = "{\"name\":\"张三\",\"age\":18,\"address\":\"北京市\"}";
Map<String, Object> map = mapper.readValue(jsonStr, Map.class);
System.out.println(map.get("name"));
System.out.println(map.get("age"));
System.out.println(map.get("address"));
}
}
```
输出结果如下:
```
张三
18
北京市
```
除了Jackson库,还可以使用Gson库来实现Java对象和JSON格式的字符串之间的转换。Gson库的用法与Jackson库类似,这里不再赘述。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)