Json格式化对象数组对象属性顺序改变问题的解决

1、问题说明

由于使用DataTable进行数据渲染,调用接口获取的Json数据中对象的属性不是原来的顺序了,原因是在进行Json格式化的时候,使用JsonUntils进行转json,内部使用的map是无序的。

需要的数据格式示例:

[
    {
        "userName":"lucy",
        "sex":"男",
        "age":"18"
    },
    {
        "userName":"lucy",
        "sex":"男",
        "age":"18"
    }

]

进行Json格式化后的数据示例:

[
    {
        "sex":"男",
        "userName":"lucy",
        "age":"18"
    },
    {
        "sex":"男",
        "userName":"lucy",
        "age":"18"
    }

]

因此这样的数据肯定是不行的。

2、问题解决

既然知道原因出在哪里了,就针对性的解决就行。由于项目中很多地方已经在使用原来的JsonUtils工具类,在不影响项目的前提下,我自己手动修改自己的数据。

将原来待Json格式化的数据重新处理一下:

List userList= userService.getUsers();
List> resultList = new ArrayList<>();
    for(User user:userList){
        Map map = new LinkedHashMap<>();
        map.put("userName",situationVO.getUserName());
        map.put("sex",situationVO.getSex());
        map.put("age",situationVO.getAge());
        resultList.add(map);
     }
String resulData = JSONUtils.toJSONString(resultList);
return resultData;

大致思路如上。

你可能感兴趣的:(Error,Solve)