`
datoplay
  • 浏览: 1620927 次
文章分类
社区版块
存档分类
最新评论

json的初步学习

 
阅读更多

<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL /> <w:BalanceSingleByteDoubleByteWidth /> <w:DoNotLeaveBackslashAlone /> <w:ULTrailSpace /> <w:DoNotExpandShiftReturn /> <w:AdjustLineHeightInTable /> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:UseFELayout /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!-- [if gte mso 10]> <mce:style><! /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} --> <!--[endif] --><!-- [if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="1026" /> </xml><![endif]--><!-- [if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1" /> </o:shapelayout></xml><![endif]-->

Json’ 是一种数据交互格式之一,客户端和服务端之间的数据交互,

Json js js 的子集, js 可以很好的解析这种数据格式

Php json 的解析主要是基于两个函数: json-encode json_decode

一、json_encode()

有点像mysql 里面的序列化函数,serialize

该函数主要用来将数组和对象,转换为json 格式。先看一个数组转换的例子:

1. 


$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); 
2.echojson_encode($arr);

结果为1.{"a":1,"b":2,"c":3,"d":4,"e":5}


再看一个对象转换的例子:

1.$obj->body='anotherpost'; 
2. $obj->id=21; 
3. $obj->approved=true; 
4. $obj->favorite_count=1; 
5.$obj->status=NULL; 
6. echojson_encode($obj);

结果

1.{ 
2."body":"anotherpost", 
3."id":21, 
4. "approved":true, 
5. "favorite_count":1, 
6. "status":null 
7.}

由于json
只接受utf-8
编码的字符,所以json_encode()
的参数必须是utf-8
编码,否则会得到空字符或者null
。当中文使用GB2312
编码,
或者外文使用ISO-8859-1 编码的时候,这一点要特别注意。

四、json_decode()

类似与反序列化函数

该函数用于将json 文本转换为相应的PHP 数据结构。下面是一个例子:

通常情况下,json_decode() 总是返回一个PHP 对象,而不是数组。比如:

1. $json='{"a":1,"b":2,"c":3,"d":4,"e":5}'; 
2 var_dump(json_decode($json));

结果就是生成一个PHP 对象:

1.object(stdClass)#1(5){ 
2. ["a"]=>int(1) 
3.["b"]=>int(2) 
4. ["c"]=>int(3) 
5. ["d"]=>int(4) 
6.["e"]=>int(5) 
7. } 

如果想要强制生成PHP关联数组,json_decode()需要加一个参数true:

  $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

  var_dump(json_decode($json),true);

结果就生成了一个关联数组:

  array(5) {

     ["a"] => int(1)
     ["b"] => int(2)
     ["c"] => int(3)
     ["d"] => int(4)
     ["e"] => int(5)

  }

分享到:
评论

相关推荐

    json2.js的初步学习与了解.docx

    json2.js的初步学习与了解.docx

    json2.js的初步学习与了解

    json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面中引用该脚本:[removed][removed] 3.)示例演示一: 代码如下: //直接声明json数据结构 var myJSONObject = {“bindings...

    Android编程心得分享——JSON学习过程

    在我们初步学习JSON时我们都知道JSON作为现在比较流行的数据交换格式,有着它的许多优点,这里将我学习JSON的过程记录如下

    day_45_bookstore.rar

    本Java视频教程案例是尚硅谷JavaWEB学习完成后的一个总结性案例,由讲师在第45、46、47天带领学员一起完成。...学习本案例后,将初步具备 JavaEE 企业级开发技能,并为学习后面的框架和项目扫除障碍。

    地理信息系统素材

    地理信息系统初步学习教材资料,具体如何进行操作,认识Arcgis的基本操作界面以及基础操作。

    基于在线WebApi资源调用的Web前端应用《天气易搜》

    在实践中掌握部分前端框架的用法,对前后端联调有初步的认识和理解,培养前端开发的兴趣有利于进一步学习前端开发技术。简化实现的过程,并保留核心的功能,例如,V-model双向绑定的运用、V-for列表渲染的运用、...

    微信小程序学习系列(一)

    本文将记录微信的 HelloWorld 的目录结构,剖解首页的内容,以初步了解小程序开发的基本要素。 准备工作 微信开发者工具,开发工具,官网下载地址 ; JavaScript 语法基础,脚本语言; html 基础,对应页面文件 ....

    neo:仅用于学习弹簧靴

    仅用于学习弹簧靴 一流技术栈: 弹簧靴 摇动 Mybatis MySQL的 前端技术栈 React 打字稿 antd UI组件库 axios http请求库 mobx状态管理 项目启动 初步项目 1、首先安装 gradle, 如果项目构建报错,请指定 gradle ...

    基于微信小程序实现影视推荐、音乐播放、地图【学习Demo】小程序源码分享

    小程序是一个易上手的东西, 对于新手来说,多看官方文档,可以初步做出比较完整的小程序,正是因为简单上手,功能实现简单,小程序是越来越火,商业价值也越来越大。 1. 微信web开发者工具:微信小程序官网 这是个...

    JavaNotes:自学,存放学习笔记

    自学ing,存放学习笔记 目录 JavaSE 面向对象 Java集合 常用类 异常 枚举类 注解 泛型 泛型本质 反射 多线程 文件类和IO流 Java8新特性 JDBC JavaSE易错点 JavaAdvance 活动 RPC 分散ID API网关 杰克逊 ...

    taro-video-english:听读说小程序源码,微信搜索“听读说”

    基于开发的英语视频学习小程序。 本地运行 # 安装依赖,或 npm i yarn # 运行小程序,编译后的文件位于项目下的 dist 文件夹 # (微信 dev:weapp,支付宝 dev:alipay) npm run dev:weapp # 运行 H5 npm run dev:h5 ...

    程序员5个刷题网站-Wechat_small_program_Share::books:微信小程序书籍笔记分享,欢迎大家Star:fire:只做学习和交流使用

    在学习小程序之前你要掌握初步的html+css+javascript的基础知识。小程序起步到现在,越来越多的开发人员为其开发框架以及插件。 《HTML教程》 《HTML 参考手册》 《CSS教程》 《CSS参考手册》 《javascript教程》 //...

    LGame-master游戏开发.zip

    所以学习难度低(很多事情后台都自动做了),上手容易,堪称学习难度最低的Java游戏引擎,没有之一。 *支持多语言开发,LGame同时支持Java、C#、C++等多种语言,并且可以让Java语法向其它版本自动转化,能满足任意...

    机器学习实验报告.pdf

    第 二步,决策树的剪技:决策树的剪枝是对上一阶段生成的决策树进行检验、校正 和修下的过程,主要是用新的样本数扼集(称为测试数据集)中的数据校验决策 树生成过程中产生的初步规则,将那些影响预衡准确性的分枝...

    基于小程序实现仿bilibili移动端应用页面程序设计源码

    《微信小程序开发-B站》是以bilibili移动端网站为基础开发微信小程序版本,笔者喜欢的学习是愉快、轻松并能学到实战的东西,不知各位观友有没有一样的经历,就是一有问题不是先去Google/百度,而是先问自己好友里面...

    基于小程序实现仿bilibili移动端应用页面程序设计源码分享

    《微信小程序开发-B站》是以bilibili移动端网站为基础开发微信小程序版本,笔者喜欢的学习是愉快、轻松并能学到实战的东西,不知各位观友有没有一样的经历,就是一有问题不是先去Google/百度,而是先问自己好友里面...

    Tutorial-AngularJS-HTML5:手机APP的简单AngularJS教程

    AngularJS 完整指南YN ... 我们的讨论是: 初步的制作简单的应用程序MVC架构AngularJS 中的模块AngularJS 中的复杂模型在 AngularJS 中读取 JSON 数据过滤器数据绑定路由参数路由导航动画片标签验证表自定义指令。

Global site tag (gtag.js) - Google Analytics