String 转json 取值
时间: 2024-05-19 09:08:05 浏览: 96
在Java中,可以使用第三方库如Gson或者Jackson来进行String转JSON和取值操作。下面是一个示例:
1. String转JSON:
首先,你需要将String类型的数据转换为JSON对象。可以使用Gson库的fromJson方法或者Jackson库的ObjectMapper类来实现。
使用Gson库的示例代码如下:
```java
import com.google.gson.Gson;
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// 将String转换为JSON对象
Gson gson = new Gson();
JsonObject jsonObject = gson.fromJson(jsonString, JsonObject.class);
```
使用Jackson库的示例代码如下:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// 将String转换为JSON对象
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(jsonString);
```
2. 取值操作:
一旦将String转换为JSON对象,你可以使用相应的方法来获取JSON中的值。
使用Gson库的示例代码如下:
```java
// 获取name字段的值
String name = jsonObject.get("name").getAsString();
// 获取age字段的值
int age = jsonObject.get("age").getAsInt();
// 获取city字段的值
String city = jsonObject.get("city").getAsString();
```
使用Jackson库的示例代码如下:
```java
// 获取name字段的值
String name = jsonNode.get("name").asText();
// 获取age字段的值
int age = jsonNode.get("age").asInt();
// 获取city字段的值
String city = jsonNode.get("city").asText();
```
阅读全文