一、问题

接口返回json数据给前端时,前端反馈拿到的数据并不是按照预期的顺序,数据自动根据key值重新排序了,不是我辛辛苦苦排序的顺序

二、分析并解决

1、分析

json是无序,和数组不一样,从浏览器输出或者接口返回给前端的json数据时,json是无序的,会按照key值重新排序输出;

key值为单纯的数字、字母时,都会重新排序,数字按照从小到大排序,字母按照字母顺序排序;值得注意的是,当key的首字母相同,后面拼接数字时,json输出重新排序后和原数组顺序一样,输出会按照原顺序输出;

2、解决方案

除了1中提到的,key的首字母相同,后面拼接数字,可以按照原顺序输出;如下方案是比较好的一个方案:

PHP中,可以将数组通过函数 array_values 将数组的value值按数组顺序拼接为数字索引数组,这样json数组输出重新排序的结果和数字索引数组顺序一致,完美地解决了自动排序的问题。

解决json数据 key为数字,自动排序问题相关推荐

  1. Json中key为数字动态格式怎么解析

    JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,我们看上面的符号,里面有[] ,{}等符号,其中 1 []中括号代表的是一个数组: 2 {}大括号代表的是一个对象 3 双引号 ...

  2. go json的key为数字怎么解析_golang向interface{}解析json时把所有的数字都当成float64...

    最近发现 golang解析json时把所有的int,float,double等数字,向interface{}解析时都当成float64(当然被双信号包围的数字除外,任何被双引号包围的,都是字符串.), ...

  3. fastjson转换json字符串key的首字母小写变大写的解决办法

    问题描述 在开发过程中,由于接口文档的描述,要求json字符串的key首字母为大写,而java 的规范要求在定义bean的时候,成员属性是首字母小写的驼峰格式,java的基本规范一定要遵守,否则会出现 ...

  4. go json数据出现unicode_【Android】OkHttp、Retrofit拿到的json是Unicode,我要的是UTF-8呀...

    不管是用HttpClient还是用OkHttp,都可以用来请求网络,然后拿到后台返回的json数据,然后按需要一步步解析. 当然,我们有时候需要先确认返回的json数据中某个字段有没有数据,我们拿到j ...

  5. java学习笔记——众筹项目练习——项目中的忘记密码(密码找回)与记住我(自动登录)功能 和 返回json数据低版本浏览器显示下载问题的解决、众筹系统架构重构

                                          忘记密码(密码找回) 忘记密码(密码找回)这个功能可以说是目前所有为别人提供服务的软件系统都具备的基础功能啦!很普遍,因为总 ...

  6. python中如何对复杂的json数据快速查找key对应的value值(使用JsonSearch包)

    前言 之前在实际的项目研发中,需要对一些复杂的json数据进行取值操作,由于json数据的层级很深,所以经常取值的代码会变成类似这样: value = data['store']['book'][0] ...

  7. jQuery通过ajax方法获取json数据不执行success的原因及解决方法

    1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准 ...

  8. Key为数字的Json数据标准化成标准Json格式

    在平时的开发过程中,经常遇到形如:{"1": {"name": "北京","city": {"1": ...

  9. 串口发数据到android数据错误,51单片机通过蓝牙串口模块发送JSON数据给安卓手机故障解决办法...

    原标题:51单片机通过蓝牙串口模块发送JSON数据给安卓手机故障解决办法 JSON(Java Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMA (欧洲计 ...

最新文章

  1. ACMNO.40 C语言-子串 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串
  2. “几何深度学习”受爱因斯坦启示:让AI摆脱平面看到更高的维度
  3. 图解如何在DC上添加自定义属性类
  4. oracle 三层嵌套查询,oracle 三层嵌套分页查询
  5. C#基础解析之Ⅲ 【循环结构】
  6. 举例说明层次分析的三大原则_一起来复习下陈印老师关于多选题做题思路的分析...
  7. 【转载】程序员技术练级攻略
  8. 2008 年 十大预测的总结 (只对了一半左右)
  9. python做什么模型_主题模型初学者指南[Python]
  10. 关于mapper接口与mapper.xml文件在同包运行找不到问题解决
  11. hdu 3221 Brute-force Algorithm(高速幂取模,矩阵高速幂求fib)
  12. ArcGIS API For JS实现动态点扩散
  13. 定量论文:探究「健康水平、婚姻状况」对幸福感的影响
  14. Java 从入门到精通 第16章String类
  15. 无刷电机FOC控制笔记
  16. SSL/TLS(3): CA证书解释
  17. python 相关系数(全)
  18. dot全称_DOT是什么
  19. 一文理解CPU进行简单加法(计算机组成原理5.1CPU的功能和基本结构)
  20. 爱心版生日快乐了解一下(肝了一个晚上)

热门文章

  1. i5 vs i7区别是什么,那个处理器适合您的电脑?
  2. 【我是一只It小小鸟】有感
  3. 创业公司的的股权安排
  4. 蓝桥杯嵌入式 - 第九届决赛试题(电子秤)
  5. Flask+BootStrap+SQLite+ECharts编写的教学问卷调查系统
  6. 如何提高网站在百度搜索的排名
  7. 龙与地下城用户名_多用户地下城如何教我编程
  8. 使用matlab分析一段声音信号的均方根
  9. CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80040154. 错误的解决办法
  10. FDM 3D打印机常见故障列总 挨个排除