后端返回 JSONObject 或者LinkedHashMap无序的解决办法

后端返回 JSONObject 或者LinkedHashMap无序的解决办法,第1张

某日有个需求,后端返回的 jsonObject 里面的 key 需要按照某个顺序排序,我上网查了一下,可以使用 LinkedHashMap 创建JSONObject

这样子 key 就会按照某个添加的顺序读取了,但是我发现将数据返回前端的时候,前端获取的 key 并不是按照后端添加的顺序返回的,这样我很头疼,最直接就是将结构变成 List 集合,但是我不想修改返回的结构,怎么办呢?
后面想到一个办法,就是将返回的 JSONObject 或者 LinkedHashMap 变成一个 String 字符串返回,让前端去解析成这样之前的结构即可。完美解决!

是 documentgetElementsByName 吧?

另外如果是在IE9或IE9以下,无论表单元素是写name属性或是id属性都会取得到值。

例如

<!doctype html>
<html>
<head>
    <title></title>
    <script type="text/javascript">
        windowonload = function(){
            var value =documentgetElementsByName("a");
            var result = [];
            for(var i =0;i<valuelength;i++){
                resultpush(value[i]value);
            }
           consolelog( resultjoin(","));
        }
    </script>
</head>
<body>
    <input type="text" name="a" value="3"/>
    <input type="text" id="a" value="2"/>
    <input type="text" name="a" value="4"/>
    <input type="text" name="a" value="5"/>
</body>
</html>

在当前版本的 opera,ff,chrome,IE10,IE11中获取的值是 3,4,5,但是在IE9及IE9一下版本获取的是 3,2,4,5

有5种方法。
1、在json城市列表使用flex生成词法分析器编译后端。
2、在json城市列表使用bison生成语法分析器编译后端。
3、在json城市列表通过语法分析器得到输入代码的语法树表示编译后端。
4、在json城市列表编写遍历函数遍历语法树生成中间代码编译后端。
5、在json城市列表利用LLVM工具集来编译执行所得到的中间代码编译后端。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13014260.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存