在Java中,JSONObject
和Map<String, Object>
之间的转换是一个常见的需求。JSONObject
是org.json库中的一个类,用于表示JSON对象;而Map<String, Object>
是Java集合框架中的一个接口,用于存储键值对。
以下是如何进行这两种数据结构之间的转换的代码示例和详细解释:
JSONObject
转换为Map<String, Object>
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class JSONToMap {
public static Map<String, Object> jsonToMap(JSONObject json) {
Map<String, Object> map = new HashMap<>();
Iterator<String> keys = json.keys();
while (keys.hasNext()) {
String key = keys.next();
Object value = json.get(key);
map.put(key, value);
}
return map;
}
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
JSONObject jsonObject = new JSONObject(jsonString);
Map<String, Object> map = jsonToMap(jsonObject);
System.out.println(map);
}
}
org.json.JSONObject
、java.util.HashMap
、java.util.Iterator
和java.util.Map
。jsonToMap
:该方法接受一个JSONObject
作为参数,并返回一个Map<String, Object>
。HashMap
实例:用于存储从JSONObject
中提取的键值对。JSONObject
的键:使用json.keys()
获取所有键的迭代器,然后通过while
循环遍历这些键。json.get(key)
获取值,并将其放入map
中。map
。Map<String, Object>
转换为JSONObject
import org.json.JSONObject;
import java.util.Map;
public class MapToJSON {
public static JSONObject mapToJson(Map<String, Object> map) {
return new JSONObject(map);
}
public static void main(String[] args) {
Map<String, Object> map = Map.of("name", "John", "age", 30, "city", "New York");
JSONObject jsonObject = mapToJson(map);
System.out.println(jsonObject.toString());
}
}
org.json.JSONObject
和java.util.Map
。mapToJson
:该方法接受一个Map<String, Object>
作为参数,并返回一个JSONObject
。JSONObject
实例:使用new JSONObject(map)
将map
转换为JSONObject
。JSONObject
。JSONObject
到Map<String, Object>
:通过遍历JSONObject
的键,并将每个键值对放入HashMap
中。Map<String, Object>
到JSONObject
:直接使用JSONObject
的构造函数将Map
转换为JSONObject
。这两个方法提供了一种简单且高效的方式来在JSONObject
和Map<String, Object>
之间进行转换,适用于各种需要处理JSON数据的Java应用程序。
提示:请勿发布广告垃圾评论,否则封号处理!!