文档章节

php数组转json问题

yankewei
 yankewei
发布于 2016/08/15 22:48
字数 363
阅读 8
收藏 0
点赞 0
评论 0

今天在与app对接的时候,遇到了一些问题:就是在app页面中插入一条广告,这条广告是从数据库中取出,数据可能为空,就在这个  `空` 上遇到了问题,举例:

第一种情况:有数据:

<?php
$data['person'] = array('id'=>1,'name'=>'TheOrdinaryWorld','age'=>23);
echo json_encode(array('code'=>200,'message'=>'数据返回成功','data'=>$data));

输出的是:

{
    "code":200,
    "message":"数据返回成功",
    "data":{
        "person":{
            "id":1,
            "name":"yankewei",
            "age":23
        }
    }
}

这是期望看到的数据格式。

第二种情况:没有数据

<?php
$data['person'] = array();
echo json_encode(array('code'=>200,'message'=>'数据返回成功','data'=>$data));

输出的是:

{
    "code":200,
    "message":"数据返回成功",
    "data":{
        "person":[

        ]
    }
}

这里看到person是一个数组,这时,app端找我了 ,这个person有数据你返回对象,没有数据你返回一个数组,这我们怎么去解析,都返回一个对象才可以,空的话也应该是一个空对象,当时不知道怎么办,就说那我返回一个null吧,结果是这样:

{
    "code":200,
    "message":"数据返回成功",
    "data":{
        "person":null
    }
}

等我回到家,想起这个,怎么返回一个空对象,于是就改为这样:

<?php
$data['person'] = (object)array();
echo json_encode(array('code'=>200,'message'=>'数据返回成功','data'=>$data));

这样就返回了一个空对象:

{
    "code":200,
    "message":"数据返回成功",
    "data":{
        "person":{

        }
    }
}

其实我也不知道返回null和一个空对象哪个好。

© 著作权归作者所有

共有 人打赏支持
yankewei
粉丝 1
博文 8
码字总数 2518
作品 0
昌平
程序员
最近获得的新技能,和旧知识的巩固/json,php的数组问题

最近做一个图标显示,需要在js中使用ajax返回的数组,因此开始对json进一步了解 1. 先说将php多维数组的for定义,和php数组转为json数据包,这样下面说js使用json也好说 1.1 多维数组定义: ...

issac宝华 ⋅ 2016/01/30 ⋅ 0

解决json_encode中文UNICODE转码问题

用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式,如果想汉字不进行转码,这里提供三种方法 1.升级PHP,在PHP5.4, 这个问题终于得以解决, Json新增了...

grushy ⋅ 2014/10/21 ⋅ 0

Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图

个人小程序,可以微信扫一扫看看。谢谢支持 这是第一篇实例的步骤与代码。还有整个项目的结构图。 http://my.oschina.net/xshuai/blog/345117 原创的博文。转载注明出处。大家赶紧收藏吧。 ...

小帅帅丶 ⋅ 2014/12/05 ⋅ 9

PHP json_encode 处理汉字为空 服务端JSON汉字编码

PHP json_encode 处理汉字为空 服务端JSON汉字编码 原因是这个汉字是gbk编码 , json只能处理utf-8的编码 ,所以要先将数据转码 用Extjs接收PHP服务端返回的Json结果时,发现只要是汉字(从S...

李佳顺 ⋅ 2014/07/24 ⋅ 1

PHP将数组转为json出现的中文乱码的问题

将GBK编码的含有中文数组转为json格式,先将每个值进行urlencode,然后json_encode,最后urldecode即可。 2.将json转为数组 3.终极处理方法,对数组进行编码转换 用途:中文处理,在返回json时...

Corwien ⋅ 2016/01/26 ⋅ 7

json_encode , json 还是数组?(转)

在 ajax 横行的今天,json 顺理成章地成为了前后端交互一个极其重要的工具。对于 PHP 来说,通常使用 json_encode 方法将一个 PHP 组数,转换成前端可以解析的 json 字符串,这也是 PHP 手册...

zyt_1978 ⋅ 2016/06/19 ⋅ 0

php对象转数组的黑技术

通常在php中,想把对象处理成数组是需要花费点精力的。 但是今天在这里,我告诉你一个so easy的黑技术来解决这个问题。

hgditren ⋅ 2017/10/20 ⋅ 0

JSON对象转PHP数组问题

我想用php转换成数组. 用php内置函数json_decode不能解决, 想问下如何转换.谢谢,json对象如下 TB.detailRate = {"scoreInfo": {"isB2cSeller":true,"noMark":false,"merchandisScore":"5.0"...

蜘蛛曼舞 ⋅ 2013/04/26 ⋅ 3

Ztree + PHP 无限级节点 递归查找节点法

一、前言 简单的描述一下,实习几个原理,思想,其实写很多东西,思想算是最重要的。 1、目标:将写一个无限节点的树形目录结构,如下图 步骤: 1、你的下载 插件 ztree。然后布置在你的项目...

RablePHP ⋅ 2014/11/14 ⋅ 7

PHP 输出中文 JSON 字符串

PHP 和 JavaScript 交互其实很方便,PHP 原生也提供了对 JSON 格式的支持。主要包括 JSON 编码和解码两个函数: 1 jsonendoce: http://cn.php.net/jsonencode 2 jsondedoce: http://cn.php.n...

cnu2m ⋅ 2014/10/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部