jfinal 返回json格式 乱的

jfinal 返回json格式 乱的

瑾夏年华 发布于 2021-11-27 字数 12049 浏览 879 回复 9

***************json 输出代码***************************

JSONObject result = new JSONObject();

result.put("status", Constants.ERROR);

try{result.put("data", ((Page<User>)object).getList());}catch(Exception e){

result.put("data", object);

}

try{result.put("total", ((Page<User>)object).getTotalRow());}catch(Exception e){}

result.put("msg", msg);

super.render(new JsonRender(result).forIE());

*******************返回如下*******************************

{
    "status": 2000,
    "data": {
        "countlist": [
            {
                "attrNames": [
                    "count",
                    "month"
                ],
                "attrValues": [
                    14,
                    "07"
                ],
                "attrsEntrySet": [
                    {
                        "key": "count",
                        "value": 14
                    },
                    {
                        "key": "month",
                        "value": "07"
                    }
                ]
            },
            {
                "attrNames": [
                    "count",
                    "month"
                ],
                "attrValues": [
                    18,
                    "08"
                ],
                "attrsEntrySet": [
                    {
                        "key": "count",
                        "value": 18
                    },
                    {
                        "key": "month",
                        "value": "08"
                    }
                ]
            },
            {
                "attrNames": [
                    "count",
                    "month"
                ],
                "attrValues": [
                    8,
                    "09"
                ],
                "attrsEntrySet": [
                    {
                        "key": "count",
                        "value": 8
                    },
                    {
                        "key": "month",
                        "value": "09"
                    }
                ]
            },
            {
                "attrNames": [
                    "count",
                    "month"
                ],
                "attrValues": [
                    21,
                    "10"
                ],
                "attrsEntrySet": [
                    {
                        "key": "count",
                        "value": 21
                    },
                    {
                        "key": "month",
                        "value": "10"
                    }
                ]
            },
            {
                "attrNames": [
                    "count",
                    "month"
                ],
                "attrValues": [
                    15,
                    "11"
                ],
                "attrsEntrySet": [
                    {
                        "key": "count",
                        "value": 15
                    },
                    {
                        "key": "month",
                        "value": "11"
                    }
                ]
            },
            {
                "attrNames": [
                    "count",
                    "month"
                ],
                "attrValues": [
                    20,
                    "12"
                ],
                "attrsEntrySet": [
                    {
                        "key": "count",
                        "value": 20
                    },
                    {
                        "key": "month",
                        "value": "12"
                    }
                ]
            }
        ],
        "countlistFinish": []
    },
    "msg": "操作成功!"
}

******************************************************

我需要的数据格式是 "countlist": [ 

{  "count": 20, "month": "12"}

..........

]

这种格式

但是输出的是把对象的key和value分开了

 "countlist": [
            {
                "attrNames": [
                    "count",
                    "month"
                ],
                "attrValues": [
                    14,
                    "07"
                ],
                "attrsEntrySet": [
                    {
                        "key": "count",
                        "value": 14
                    },
                    {
                        "key": "month",
                        "value": "07"
                    }
                ]
            },

请问我要如何才能按照我要的格式输出

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

时光清浅 2021-12-01 9 楼

很好

明月松间行 2021-12-01 8 楼

bean里面是list map

皇甫轩 2021-12-01 7 楼

我喜欢定义javabean,然后直接renderjson。屡试不爽

不再见 2021-12-01 6 楼

我是用这个 JsonKit.toJson(result); 有两个问题 1. 打印的json数据是乱的,没有按照我在Result类中声明变量顺序打印json数据。 2. 打印的json数据中有的变量值是null 能不能打印"" 空字符串?

眼泪淡了忧伤 2021-12-01 5 楼

回复
1: 打印数的时候是对map数据进行迭代,所以次序会有变化,解决方案是为ActiveRecordPlugin配置一个变量:arp.setContainerFactory(new OrderedFieldContainerFactory())。

奈何桥上唱咆哮 2021-12-01 4 楼

回复
2:变量值是null就只能是null,因为null值是json的一个常量值,是json的规范要求不能将null当成"",具体看这里:http://json.org/

虐人心 2021-12-01 3 楼

直接 JsonKit.toJson(countList) 即可

旧伤慢歌 2021-12-01 2 楼

深度不好把握啊~

路还长,别太狂 2021-12-01 1 楼

,问题已解决。

我自己的问题哈

开始我的上层调用

JSONObject countobj = new JSONObject();

countobj.put("countlist", countlist));

是直接把model数组放进去

应该把对象数组用listToJson转了后再放进去

countobj.put("countlist", JsonKit.listToJson(countlist, 8));