json_decode 索引为数字时自动排序问题解决方法

(编辑:jimmy 日期: 2024/9/21 浏览:2)

json_encode 索引为数字,自动排序问题

使用son_encode 给前端返回数据,结果顺序不对,经debug调试,发现是json_encode 函数的问题;

{
 "code": 0,
 "msg": "请求成功!",
 "data": {
  "2018-10": {
   "17": [
    {
     "id": 730,
     "uid": "118209",
     "is_read": false,
     "biggest_high": 0,
     "first_read_at": "",
     "stock_name": "长春燃气",
     "stock_code": "600333",
     "in_timed_at": 1539756681,
     "price": "6.4"
    }
   ],
   "18": [
    {
     "id": 735,
     "uid": "118209",
     "is_read": false,
     "biggest_high": 0,
     "first_read_at": "",
     "stock_name": "天孚通信",
     "stock_code": "300394",
     "in_timed_at": 1539828137,
     "price": "17.7"
    }
   ],
   "19": [
    {
     "id": 748,
     "uid": "118209",
     "is_read": false,
     "biggest_high": 0,
     "first_read_at": "",
     "stock_name": "科大讯飞",
     "stock_code": "002230",
     "in_timed_at": 1539941525,
     "price": "31.87"
    }
   ],
   "09": [
    {
     "id": 706,
     "uid": "118209",
     "is_read": false,
     "biggest_high": 0,
     "first_read_at": "",
     "stock_name": "温州宏丰",
     "stock_code": "300283",
     "in_timed_at": 1539048922,
     "price": "4.83"
    }
   ]
  },
  "2018-09": {
   "29": [
    {
     "id": 702,
     "uid": "118209",
     "is_read": false,
     "biggest_high": 0,
     "first_read_at": "",
     "stock_name": "新美星",
     "stock_code": "300509",
     "in_timed_at": 1538212392,
     "price": "13.36"
    }
   ]
  }
 }
}

解决办法:在数字索引前加个空格。如“ 19” “ 18”完美解决问题。

解决方法:变成 " " + 数字即可,例如:" 18", " 19"

{
 "code": 0,
 "msg": "请求成功!",
 "data": {
  "2018-10": {
   " 19": [
    {
     "id": 748,
     "uid": "118209",
     "is_read": false,
     "biggest_high": 0,
     "first_read_at": "",
     "stock_name": "科大讯飞",
     "stock_code": "002230",
     "in_timed_at": 1539941525,
     "price": "31.87"
    }
   ],
   " 18": [
    {
     "id": 735,
     "uid": "118209",
     "is_read": false,
     "biggest_high": 0,
     "first_read_at": "",
     "stock_name": "天孚通信",
     "stock_code": "300394",
     "in_timed_at": 1539828137,
     "price": "17.7"
    }
   ],
   " 17": [
    {
     "id": 730,
     "uid": "118209",
     "is_read": false,
     "biggest_high": 0,
     "first_read_at": "",
     "stock_name": "长春燃气",
     "stock_code": "600333",
     "in_timed_at": 1539756681,
     "price": "6.4"
    }
   ],
   " 09": [
    {
     "id": 706,
     "uid": "118209",
     "is_read": false,
     "biggest_high": 0,
     "first_read_at": "",
     "stock_name": "温州宏丰",
     "stock_code": "300283",
     "in_timed_at": 1539048922,
     "price": "4.83"
    }
   ]
  },
  "2018-09": {
   " 29": [
    {
     "id": 702,
     "uid": "118209",
     "is_read": false,
     "biggest_high": 0,
     "first_read_at": "",
     "stock_name": "新美星",
     "stock_code": "300509",
     "in_timed_at": 1538212392,
     "price": "13.36"
    }
   ]
  }
 }
}

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。