用java代码写一个代码将json转变成key和value的形式
时间: 2023-11-27 20:49:18 浏览: 78
可以使用 Java 提供的 JSON 库 `org.json`,具体步骤如下:
1. 导入依赖库
```java
import org.json.JSONObject;
```
2. 定义需要转换的 JSON 字符串
```java
String jsonString = "{\"key1\":\"value1\",\"key2\":\"value2\",\"key3\":{\"key4\":\"value4\"}}";
```
3. 将 JSON 字符串转换为 JSONObject 对象
```java
JSONObject jsonObj = new JSONObject(jsonString);
```
4. 遍历 JSONObject 对象,将键和值打印出来
```java
for (String key : jsonObj.keySet()) {
Object value = jsonObj.get(key);
if (value instanceof JSONObject) {
// 如果值是 JSONObject,则递归遍历
JSONObject nestedObj = (JSONObject) value;
for (String nestedKey : nestedObj.keySet()) {
Object nestedValue = nestedObj.get(nestedKey);
System.out.println(nestedKey + " : " + nestedValue);
}
} else {
// 否则直接打印
System.out.println(key + " : " + value);
}
}
```
完整代码如下:
```java
import org.json.JSONObject;
public class JsonToKeyValue {
public static void main(String[] args) {
String jsonString = "{\"key1\":\"value1\",\"key2\":\"value2\",\"key3\":{\"key4\":\"value4\"}}";
JSONObject jsonObj = new JSONObject(jsonString);
for (String key : jsonObj.keySet()) {
Object value = jsonObj.get(key);
if (value instanceof JSONObject) {
// 如果值是 JSONObject,则递归遍历
JSONObject nestedObj = (JSONObject) value;
for (String nestedKey : nestedObj.keySet()) {
Object nestedValue = nestedObj.get(nestedKey);
System.out.println(nestedKey + " : " + nestedValue);
}
} else {
// 否则直接打印
System.out.println(key + " : " + value);
}
}
}
}
```
阅读全文