contrller中renderjson(KV) 有无办法保持顺序一致

contrller中renderjson(KV) 有无办法设置输出的json字符串保持kv中的set顺序

场景:cotontroller中使用renderjson返回kv封装的数据

    public void get() {
        Kv fields = Kv.by("psncode", "人员编码");
        fields.set("psnname", "姓名");
        fields.set("birthdate", "出生日期");
        fields.set("nationality", "民族");
        fields.set("marital", "婚姻状况");
        fields.set("sex", "性别");
        renderJson(fields);
    }

结果:

{
    "marital": "婚姻状况",
    "birthdate": "出生日期",
    "nationality": "民族",
    "sex": "性别",
    "psncode": "人员编码",
    "psnname": "姓名"
}

顺序和kv中set的顺序不一致。

请教各位如下问题:有无办法将上述二者调整为顺序一致?

启动类MyJFinalConfig中的配置

       // me.setJsonFactory(FastJsonFactory.me());
        me.setJsonFactory(MixedJsonFactory.me());

二者效果好像都一样 没啥变化。

评论区

JFinal

2020-06-07 20:45

所以,这正是 Okv 出场的时候:
Okv fields = Okv.by("psncode", "人员编码");
...
renderJson(fields);

Okv 的缩写是: Ordered Key Value, 有序键值对

124653847atqq.com

2020-06-07 22:55

@JFinal 测试通过,果然厉害。多谢波总

JFinal

2020-06-07 23:25

@124653847atqq.com 很多功能在 jfinal 中早已预埋,只是文档中没有而已

这些预埋功能,等待你哪天有需求的时候就可以用上了

zzutligang

2020-06-08 08:44

@JFinal 波总留了一手!这玩意儿好用!