zoukankan      html  css  js  c++  java
  • 关于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
  • 相关阅读:
    转一篇GCC相关的文章
    STM32 NVIC
    阻塞套接字返回EAGAIN
    ndk编译libpcap 1.7.4(最终解决方法)
    ndk编译libpcap 1.7.4
    C# 解析torrent文件
    NPOI 读取excel的时候,时间格式的处理
    asp.net webapi 获取报文体的问题
    .net core 2.0 报错:error NU1102: Unable to find package 。。。
    SQL SERVER获取信息的方法
  • 原文地址:https://www.cnblogs.com/chenhaoyu/p/9767225.html
Copyright © 2011-2022 走看看