json主要用于网络数据传输
PHP JOSN处理
在PHP中利用json_encode()将数组json化。
这里有个地方需要注意:
- 数组是索引数组(key是从0开始的顺序的)json处理后是数组对象
- 数组是关联数组(key虽然是数字,但是不是0开始顺序的)json处理后是json对象
红框看区别
JS 中处理
// ①数组是有长度的②JSON对象是没有长度的 for(let j = 0,tmp = this.goodsInfo.images_info,len = ; j < len; j++) { ({id:tmp[j]['id'],name:tmp[j]['title'],url:tmp[j]['full_path']}) } // 如上代码处理images_info对应值,如果是数组则生效,如果是对象就不生效,对象没有length
注意:所以比较重要的是数据处理的时候要注意,避免key是数字,但不是顺序的情况,当然这种情况一般不会发生,但是在并发编程中还是很容易遇到的。例如:hyperf框架中使用$imagesInfo = $parallel->wait();获取值。对于数字key乱序用ksort处理一下就可以了。
比较坑的Chrome浏览器
其实只是你不了解,而已!看完这里你就豁然开朗了!
仔细看
仔细看
仔细看
综上所图,我们得出一个结论,关联数组(key是数字的,非顺序的)json处理以后,浏览器请求数据响应后,Preview这里看到的是格式化后的数据,而且json如果key是数字的话还会给排个序。这个排个序就有点坑了,不了解就以为闹鬼了……,Response这个就是没有格式化原样显示返回结果。
作者:xiaoyin199
来源:攸米教育
本文原创发布于攸米教育 ,转载请注明出处,谢谢合作