javascript - 停止更改 json 解析中的顺序

标签 javascript json parsing

这是基本的字符串响应:

response = "[{"prefixtodomid":"Sat17Dec2016103310GMT","todo_title":"task 3 changed","is_done_todo":false,"todo_subtitle_field":"\u00a0","prefix_pro_due_date":"","multicheckbox":false,"project_file_list":""},{"prefixtodomid":"Sat17Dec2016103313GMT","todo_title":"ce","is_done_todo":false,"todo_subtitle_field":"\u00a0","prefix_pro_due_date":"","multicheckbox":false,"project_file_list":""},{"prefixtodomid":"Sat17Dec2016103318GMT","todo_title":"dewdw","is_done_todo":false,"todo_subtitle_field":"\u00a0","prefix_pro_due_date":"","multicheckbox":false,"project_file_list":""},{"prefixtodomid":"Sat17Dec2016103321GMT","todo_title":"task 4","is_done_todo":false,"todo_subtitle_field":"\u00a0","prefix_pro_due_date":"","multicheckbox":false,"project_file_list":""},{"prefixtodomid":"Sat17Dec2016181953GMT","todo_title":"task 5","is_done_todo":false,"todo_subtitle_field":"\u00a0","prefix_pro_due_date":"","multicheckbox":false,"project_file_list":{"43":"http:\/\/example\/intra\/wp-content\/uploads\/2016\/11\/1project.png","26":"http:\/\/example\/intra\/wp-content\/uploads\/2016\/11\/2016--\u2039-Le-Blog-OSD-\u2014-WordPress_437.png"}},{"prefixtodomid":"Sat17Dec2016181957GMT","todo_title":"cewcwcwecw","todo_subtitle_field":"\u00a0","project_file_list":{"26":"http:\/\/example\/intra\/wp-content\/uploads\/2016\/11\/2016-10-16-15_26_04-Unyson-\u2039-Le-Blog-OSD-\u2014-WordPress_437.png"}}]"

我将它解析为 json,如下所示:

var obj = jQuery.parseJSON( response );

现在我正在循环:

for (var i = 0; i<Object.keys(obj).length; i++) { 
                (function(index){

                    var haveimage = obj[i].project_file_list;

                    if(haveimage){
                        // other logic
                    }

                })(i); // pass the value of i
            }

这里 haveimage 总是按照图像 id 的顺序显示图像,即使我们改变响应字符串中的顺序,parseJSON 方法只是再次按 id 改变顺序,有没有解决这个问题的方法?

如果没有,我还能用什么代替 parseJSON 吗?

谢谢你:)

最佳答案

对象是一组无序的名称/值对。

可以使用数组来维护顺序:

[
   {
      "43":"http:\/\/example\/intra\/wp-content\/uploads\/2016\/11\/1project.png"
   },
   {
      "26":"http:\/\/example\/intra\/wp-content\/uploads\/2016\/11\/2016--\u2039-Le-Blog-OSD-\u2014-WordPress_437.png"
   }
]

关于javascript - 停止更改 json 解析中的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41203316/

相关文章:

javascript - highcharts 隐藏除图例之外的图表

javascript - 带有嵌入式图标的链接未通过 JavaScript 触发

javascript - 如何使用 :after element 清除输入

python - Scrapy 返回的结果比预期多

regex - 匹配对象尺寸的正则表达式

javascript - 提交后文本框为空

json - Elasticsearch 嵌套过滤器

javascript - 尝试获取 localstorage 中的对象索引,以便我可以使用 javascript 或 jquery 从 localStorage 存储中删除/删除该对象

c++ - Flex 词法分析器输出修改

javascript - 用于从 url 解析参数的正则表达式