JSONObject jsonObject 转List<Map>
时间: 2023-11-11 12:23:02 浏览: 55
你可以通过以下代码将一个符合JSON格式的字符串转换为List<Map>对象:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper objectMapper = new ObjectMapper();
String jsonStr = "{\"list\":[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]}";
Map<String, Object> map = objectMapper.readValue(jsonStr, new TypeReference<Map<String, Object>>(){});
List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("list");
```
其中,jsonStr是你要转换的JSON格式字符串,list是转换后的List<Map>对象。你需要使用Jackson库来进行JSON的解析,这里使用了ObjectMapper类来实现。注意,这里需要使用TypeReference类来指定转换的目标类型,这里是Map<String, Object>。转换后,你可以通过map.get("list")方法来获取包含所有Map对象的List集合。
相关问题
JSONObject转List<Map<String,String>>
可以使用下面的代码将一个 JSONObject 转换为 List<Map<String, String>>:
```java
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class JSONConverter {
public static List<Map<String, String>> convert(JSONObject jsonObject) throws JSONException {
List<Map<String, String>> resultList = new ArrayList<>();
JSONArray jsonArray = jsonObject.toJSONArray(jsonObject.names());
if (jsonArray != null) {
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject item = jsonArray.getJSONObject(i);
Map<String, String> map = new HashMap<>();
for (int j = 0; j < item.names().length(); j++) {
String key = item.names().getString(j);
String value = item.optString(key);
map.put(key, value);
}
resultList.add(map);
}
}
return resultList;
}
}
```
使用时,你可以将 JSONObject 作为参数传递给 `convert()` 方法,它将返回一个转换后的 List<Map<String, String>> 对象。请注意,这段代码假设 JSONObject 的每个元素都是一个包含键值对的 JSON 对象。
你可以根据需要自行修改此代码以满足你的需求。希望能对你有所帮助!
java JSONObject 转 List<Map>
你可以使用`Gson`或者`Jackson`等库将`JSONObject`转换为`List<Map>`,以下是使用`Gson`的示例代码:
```java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.json.JSONObject;
import java.util.List;
import java.util.Map;
public class JsonToListMapExample {
public static void main(String[] args) {
// 示例 JSONObject
String jsonStr = "{\"data\":[{\"id\":1,\"name\":\"Tom\"},{\"id\":2,\"name\":\"Jerry\"}]}";
// 将 JSONObject 转换为 Map<String, Object>
Map<String, Object> jsonMap = new Gson().fromJson(jsonStr, new TypeToken<Map<String, Object>>(){}.getType());
// 获取 data 对应的 List<Map<String, Object>>
List<Map<String, Object>> dataList = (List<Map<String, Object>>)jsonMap.get("data");
// 输出 dataList
System.out.println(dataList);
}
}
```
运行结果为:
```
[{id=1, name=Tom}, {id=2, name=Jerry}]
```