jsonarray转list不过滤为空的字段
时间: 2023-07-31 10:04:12 浏览: 109
您可以使用以下代码将一个JSONArray转换为List,并且不过滤掉其中的空字段:
```java
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
JSONArray jsonArray = new JSONArray();
JSONObject obj1 = new JSONObject();
obj1.put("name", "John");
obj1.put("age", 25);
jsonArray.add(obj1);
JSONObject obj2 = new JSONObject();
obj2.put("name", "");
obj2.put("age", 30);
jsonArray.add(obj2);
JSONObject obj3 = new JSONObject();
obj3.put("name", "Alice");
obj3.put("age", null);
jsonArray.add(obj3);
List<JSONObject> list = jsonArrayToNonEmptyList(jsonArray);
for (JSONObject obj : list) {
System.out.println(obj.toJSONString());
}
}
public static List<JSONObject> jsonArrayToNonEmptyList(JSONArray jsonArray) {
List<JSONObject> list = new ArrayList<>();
for (Object obj : jsonArray) {
if (obj instanceof JSONObject) {
list.add((JSONObject) obj);
}
}
return list;
}
}
```
这段代码使用了阿里巴巴的fastjson库来处理JSON相关操作。在`jsonArrayToNonEmptyList`方法中,我们遍历JSONArray中的每个元素,如果元素是JSONObject类型,就将其添加到结果的list中。
注意:以上代码假设您已经导入了fastjson库。您可以在项目的依赖中添加以下Maven坐标来获取fastjson库:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.73</version>
</dependency>
```
希望能对您有所帮助!如果您还有其他问题,请随时提问。
阅读全文