JSONObject转List<Map<String,String>>
时间: 2023-10-29 13:52:57 浏览: 108
可以使用下面的代码将一个 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 对象。
你可以根据需要自行修改此代码以满足你的需求。希望能对你有所帮助!
阅读全文