• 关于json_encode转数组为json对象时里有数组格式数据的问题


    前言:这次是给一款小程序提供接口时发现的

    别的不多说,下面直接看出现问题的json数据

    可以看到,这是一个大的json对象,是由多维数组组成,一般api接口提供的也是这种格式。

    但是仔细看红框中的内容,它居然是个数组格式的,而跟它同级的是对象格式的,并且只有这一个。

    这就奇怪了,明明都是统一处理的,为何就这一条是数据呢?而因为这一条是数组格式,导致前端那边解析失败。

    当时花了2分钟思考,无果!

    接着上百度大法,找到了点蛛丝马迹

    如果返回json格式的数据,当返回数据的为数组,且key为字符串时,json化后将返回jsonObject,但是如果是空数组,有可能返回的就是jsonArray,数据结构不一致导致端解析json失败。

    看到这里,我瞬间明白了,应该是我的数组中这条中可能存在空的数据,导致这条是数组格式。

    下面就好办了,进PHP官网查看json_encode参数,发现如下

    解决方式如下

    json_encode($arr, JSON_FORCE_OBJECT);

    最后附上效果图

    虽然这个问题解决花费的时间不长,但是容易疏忽啊,时间一久再碰到估计又是懵逼状态了,特此记录  以供自己  温故而知新

    参考链接
        https://blog.csdn.net/qq_21119513/article/details/80577436
  • 相关阅读:
    云计算初探
    MySQL、HBase、ES的特点和区别
    MongoDB、ElasticSearch、Redis、HBase这四种热门数据库的优缺点及应用场景
    主流 Kubernetes 发行版梳理
    如何在flink中传递参数
    (47)zabbix报警媒介:Ez Texting
    (46)zabbix报警媒介:Jabber
    (45)zabbix报警媒介:SMS
    (44)zabbix报警媒介:email
    (43)zabbix报警媒介介绍
  • 原文地址:https://www.cnblogs.com/chenhaoyu/p/9767225.html
Copyright © 2020-2023  润新知