java获取json中的value的值
时间: 2023-05-26 07:04:48 浏览: 88
可以使用 JSON 库来解析 JSON 字符串后获取其中的值。例如,使用 Google 的 Gson 库:
```java
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
//...
String jsonString = "{\"name\": \"Alice\", \"age\": 20}";
JsonParser parser = new JsonParser();
JsonObject jsonObject = parser.parse(jsonString).getAsJsonObject();
String name = jsonObject.get("name").getAsString();
int age = jsonObject.get("age").getAsInt();
System.out.println(name + " is " + age + " years old.");
```
输出结果为:
```
Alice is 20 years old.
```
其中,`parser.parse(jsonString)` 将 JSON 字符串解析为一个 `JsonObject` 对象,然后可以使用 `get` 方法根据属性名获取属性值,并转换为对应的 Java 类型。此处的例子中,`name` 是字符串类型,使用 `getAsString` 方法获取,`age` 是整数类型,使用 `getAsInt` 方法获取。
相关问题
原生java获取json中的value的值
可以使用Java内置的JSON库来获取JSON中的value值。
示例代码:
```
import org.json.*;
public class Main {
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
JSONObject jsonObject = new JSONObject(jsonString);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
String city = jsonObject.getString("city");
System.out.println(name);
System.out.println(age);
System.out.println(city);
}
}
```
通过JSONObject类可以将JSON字符串解析成一个JSON对象,然后使用该对象的getXXX()方法来获取需要的value值。其中,XXX表示需要获取的value值的数据类型,如getString()表示获取字符串类型的value值,getInt()表示获取整数类型的value值等。
java获取json的value类型
在 Java 中获取 JSON 的 value 的类型,我们可以使用 `JsonNode` 对象的 `getNodeType()` 方法。
假设我们有以下 JSON 字符串:
```java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
String data = "{\"name\": \"Alice\", \"age\": 18, \"is_student\": true, \"scores\": [90, 85, 92], \"address\": {\"city\": \"Beijing\", \"street\": \"Haidian Road\"}}";
ObjectMapper mapper = new ObjectMapper();
JsonNode jsonNode = mapper.readTree(data);
```
我们可以使用以下代码来获取其中某个 key 对应的 value 的类型:
```java
// 获取 name 的类型
System.out.println(jsonNode.get("name").getNodeType()); // STRING
// 获取 age 的类型
System.out.println(jsonNode.get("age").getNodeType()); // NUMBER
// 获取 is_student 的类型
System.out.println(jsonNode.get("is_student").getNodeType()); // BOOLEAN
// 获取 scores 的类型
System.out.println(jsonNode.get("scores").getNodeType()); // ARRAY
// 获取 address 的类型
System.out.println(jsonNode.get("address").getNodeType()); // OBJECT
```
需要注意的是,在 JSON 中,true 对应 Java 中的 true,false 对应 Java 中的 false,null 对应 Java 中的 null。
阅读全文