php直接输出json格式,很多新手有一个误区,以为用echo json_encode($data);这样就是输出json数据了,没错这样输出文本是json格式文本而不是json数据,正确的写法是应该加一句:

我们要在利用Content-type:text/json才可以正常显示是json数据哦。

 代码如下 复制代码

header(‘Content-type:text/json’);     //这句是重点,它告诉接收数据的对象此页面输出的是json数据;

$json={“n”:”name”,”p”:”password”};           //虽然这行数据形式上是json格式,如果没有上面那句的话,它是不会被当做json格式的数据被处理的;

echo $json;

?>

json_encode当然也可以输入json字符串了,下面看几个例子。

PHP生成JSON的函数是:json_encode($PHPcode);

PHP解析JSON的函数是:json_decode($JSONcode);

所以JSON的形式有多种,不同的形式在PHP解释出来后的形式也是不同的。

//形式1:完全是对象的形式,这种形式的数据在Javascript中又叫相关数组,与一般数组不同的是,它可以通过字符串作索引来访问(用“[]”或“.”来表示层级)

 代码如下 复制代码

$json='{"item1":{"item11":{"n":"chenling","m":"llll"},"sex":"www.jquerycn.cn","age":"25"},"item2":{"item21":"ling","sex":"女","age":"24"}}';

$J=json_decode($json);

print_r($J);

将输出:

stdClass Object

(

[item1] => stdClass Object

(

[item11] => stdClass Object

(

[n] => chenling

[m] => llll

)

[sex] => www.jquerycn.cn

[age] => 25

)

[item2] => stdClass Object

(

[item21] => ling

[sex] => 女

[age] => 24

)

)

比如说我要取得了值是chenling的那个属性,则应该这样访问:

$J->item1->item11->n;//这将取得属性n的值:chenling

其实这种访问形式跟访问普通的对象属性差不多,也相当于访问一个3维数组。

//形式2:对象和数组混合

 代码如下 复制代码

$json='{"item1":[{"name":[{"chen":"chenling","ling":"chenli"}],"sex":"男","age":"25"},{"name":"sun","sex":"女","age":"24"}]}';

$J=json_decode($json);

print_r($J);

将输出:

stdClass Object

(

[item1] => Array

(

[0] => stdClass Object

(

[name] => Array

(

[0] => stdClass Object

(

[chen] => chenling

[ling] => chenli

)

)

[sex] => 男

[age] => 25

)

[1] => stdClass Object

(

[name] => sun

[sex] => 女

[age] => 24

)

)

)

比如说我要取得了值是chenling的那个元素,则应该这样访问:

$J->item1[0]->name[0]->chen;//这将取得元素chen的值:chenling

其实这种访问形式结合了对象和数组的访问方式,也相当于访问一个5维数组。

//形式3:完全数组形式

 代码如下 复制代码

$json='[["item1","item11"],["n","chenling"],["m","llll"]]';

$J=json_decode($json);

print_r($J);

将输出:

Array

(

[0] => Array

(

[0] => item1

[1] => item11

)

[1] => Array

(

[0] => n

[1] => chenling

)

[2] => Array

(

[0] => m

[1] => llll

)

)

比如说我要取得了值是chenling的那个元素,则应该这样访问:

$J[0][1];//这将取得元素值chenling的那个元素

但是用这种方式有一个缺点,就是无法用字符串作为索引,只能用数字,用完全对象的形式可以解决这个问题

其实这种访问形式就是数组的访问方式,相当于访问一个2维数组。

小结:

从上面的例子可以看出JSON有点类似XML,也可以在PHP和Javascript之间传递带结构的数据,使用起来很方便。

php怎么打印json数据,php输出json格式数据的例子相关推荐

  1. python json.dumps()函数输出json格式,使用indent参数对json数据格式化输出

    最近使用json.dumps()来输出json数据,发现输出的数据是一行,看着太别扭了,不美观.发现可以使用indent参数来控制 import jsondicts={"name" ...

  2. 成功解决利用pandas输出DataFrame格式数据表时没有最左边的索引编号(我去,这个问题折腾了我半个多小时)

    成功解决利用pandas输出DataFrame格式数据表时没有最左边的索引编号(我去,这个问题折腾了我半个多小时) 导读:首先,关于这个问题,博主想骂街,经过各种查询,没找到类似问题,然后博主自己不断 ...

  3. Python编程语言学习:将多个列表数据保存为dataframe格式数据并按照指定列进行降序排序之详细攻略

    Python编程语言学习:将多个列表数据保存为dataframe格式数据并按照指定列进行降序排序之详细攻略 目录 将多个列表数据保存为dataframe格式数据并按照指定列进行降序排序之详细攻略 输出 ...

  4. 成功解决pandas.core.frame.DataFrame格式数据与numpy.ndarray格式数据不一致导致无法运算问题

    成功解决pandas.core.frame.DataFrame格式数据与numpy.ndarray格式数据不一致导致无法运算问题 目录 解决问题 解决思路 解决方法 解决问题 pandas.core. ...

  5. tree树的展示,check树的展示,json数据转zree树格式数据

    tree树展示: <!DOCTYPE html> <HTML><HEAD><TITLE> ZTREE DEMO </TITLE><me ...

  6. python3根据excel表数据自动生成word格式数据报告

    目录 1. 完成xlsx数据读取 2.对数据做一些处理 3.生成图表 4.创建word文件 5.将分析结果保存入word文件中 本文主要是讲如何根据简单的xlsx数据,生成word数据报告,首先需要先 ...

  7. php获得帮助类数据_PHP解析xml格式数据工具类示例

    本文实例讲述了PHP解析xml格式数据工具类.分享给大家供大家参考,具体如下: class ome_xml { /** * xml资源 * * @var resource * @see xml_par ...

  8. Python处理示波器CSV表格数据、微软excel格式数据

    Python处理示波器CSV文件数据.微软excel文件数据 软件环境 处理示波器导出的csv表格数据 csv原始数据形式 处理代码 代码运行结果 处理Simulink导出的excel表格数据 exc ...

  9. 实现Scrapy框架爬取酷狗音乐Top100名,并存储为TXT,JSON,CSV和Excel格式数据

    前言 实现Scrapy框架爬取网页数据(酷狗音乐Top100名,包括排名信息.歌手信息.歌曲名.歌曲时长) 一.创建项目 在cmd中输入: scrapy startproject kugouScrap ...

最新文章

  1. 使用自连接、for xml path('')和stuff合并显示多行数据到一行中(转)
  2. windows8.1 windows defender service无法启动解决方案
  3. ADO.NET中异步处理的方式
  4. 人,人生,人类,思考
  5. 邮件服务器“单点登录”功能
  6. 涨姿势 | 一文读懂备受大厂青睐的ClickHouse高性能列存核心原理
  7. C++网易云课堂开发工程师-拷贝构造,拷贝复制,析构函数
  8. 等比缩放公式_CVPR2019 | 旷视提出MetaSR:单一模型实现超分辨率任意缩放因子
  9. 【181023】有意思的屏幕画笔,基于VC++实现
  10. 优秀的长截图标注工具:iShot for Mac中文免费
  11. php gd库干什么的,php gd库的基础知识
  12. 闪耀光栅 (DMD) 的衍射效应
  13. 简单版本CRM 客户管理系统设计
  14. C# 阿拉伯数字转换为中文数字/中文数字转换为阿拉伯数字
  15. php 易宝支付,易宝支付
  16. java多线程视频转码_java 后台视频转码、压缩工具
  17. 无线键盘RK61使用说明
  18. mysql的text与tinytext_MySQL中tinytext、text、mediumtext和longtext等各个类型详解
  19. reverse方法(自己实现)
  20. java 获取kafka lag,聊聊kafka consumer offset lag的监控

热门文章

  1. mysql innodb 间隙锁_Mysql innodb 间隙锁
  2. aes 加密_PHP使用AES加密和解密
  3. 1433 mssql 安全_mssqlsql2008安全配置又一给力教程
  4. 2016: 神殿(求二进制1的个数最多的那个数)
  5. 深度学习——Nesterov方法的学习笔记
  6. Java中List判空问题白话详解
  7. JS中var与function
  8. ARM架构、指令集、内核版本、CISC与RISC、ARM产品线
  9. stm32F1的 PA13/PA14/PA15/PB3/PB4 作为普通引脚使用
  10. 求数据流中的第K大元素