将嵌套的JSON写入HashMap<String, String>可以通过以下步骤实现:
以下是一个示例代码,使用Jackson库将嵌套的JSON写入HashMap<String, String>:
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class JsonToHashMapExample {
public static void main(String[] args) {
String json = "{\"key1\":\"value1\",\"key2\":{\"nestedKey\":\"nestedValue\"}}";
try {
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(json);
HashMap<String, String> hashMap = new HashMap<>();
parseJsonNode(rootNode, hashMap);
// 打印解析后的HashMap
for (Map.Entry<String, String> entry : hashMap.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void parseJsonNode(JsonNode jsonNode, HashMap<String, String> hashMap) {
Iterator<Map.Entry<String, JsonNode>> fields = jsonNode.fields();
while (fields.hasNext()) {
Map.Entry<String, JsonNode> entry = fields.next();
String key = entry.getKey();
JsonNode value = entry.getValue();
if (value.isObject()) {
HashMap<String, String> nestedHashMap = new HashMap<>();
parseJsonNode(value, nestedHashMap);
hashMap.put(key, nestedHashMap.toString());
} else {
hashMap.put(key, value.asText());
}
}
}
}
这个示例代码将嵌套的JSON字符串{"key1":"value1","key2":{"nestedKey":"nestedValue"}}
解析为以下HashMap:
key1 : value1
key2 : {nestedKey=nestedValue}
注意:这只是一个示例代码,实际应用中可能需要根据具体的JSON结构和需求进行适当的修改。
领取专属 10元无门槛券
手把手带您无忧上云