不使用for循环把com.alibaba.fastjson.JSONArray直接转成List<Map<String, String>>
时间: 2023-11-11 19:12:17 浏览: 94
可以使用Java8的Stream API来实现,代码如下:
```java
import com.alibaba.fastjson.JSONArray;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class JsonToMapListDemo {
public static void main(String[] args) {
JSONArray jsonArray = new JSONArray();
jsonArray.add("{\"name\":\"张三\", \"age\":18}");
jsonArray.add("{\"name\":\"李四\", \"age\":20}");
List<Map<String, String>> list = jsonArray.stream()
.map(item -> (Map<String, String>) item)
.collect(Collectors.toList());
System.out.println(list);
}
}
```
上述代码中,我们先构造了一个`com.alibaba.fastjson.JSONArray`,然后使用Stream API中的`map()`方法将每个JSON对象转换成`Map<String, String>`对象,最后使用`collect()`方法将所有`Map<String, String>`对象收集到一个List中。注意,在使用`map()`方法时,我们需要将JSON对象强制转换成`Map<String, String>`类型。
阅读全文