php 解析json
今天做项目的时候需要用到json数组,解析时遇到了个小小的麻烦,特此将解决办法记下:
json数据如下:
{
"code":200,
"message":"ok",
"data":[
{
"id":78,
"title":"模糊",
"description":"垃圾",
"type":1,
"fee":3,
"senderPhone":"5534964615",
"sender":29,
"receiver":null,
"sendTime":"2016-03-24 16:59:37",
"endTime":"2016-02-24 17:06:00",
"longtitude":118.940289,
"latitude":32.126177,
"finished":0
},
{
"id":77,
"title":"后门拿货",
"description":"一箱水果",
"type":1,
"fee":1,
"senderPhone":"",
"sender":29,
"receiver":null,
"sendTime":"2016-03-24 11:26:15",
"endTime":"2016-02-24 11:33:00",
"longtitude":118.940289,
"latitude":32.126177,
"finished":0
},
{
"id":76,
"title":"",
"description":"",
"type":1,
"fee":1,
"senderPhone":"",
"sender":29,
"receiver":null,
"sendTime":"2016-03-24 11:25:02",
"endTime":"2016-02-24 11:32:00",
"longtitude":118.940289,
"latitude":32.126177,
"finished":0
},
{
"id":75,
"title":"",
"description":"",
"type":1,
"fee":1,
"senderPhone":"",
"sender":29,
"receiver":null,
"sendTime":"2016-03-24 11:24:58",
"endTime":"2016-02-24 11:32:00",
"longtitude":118.940289,
"latitude":32.126177,
"finished":0
},
{
"id":74,
"title":"jsddhdgg",
"description":"纷纷打电话和的",
"type":1,
"fee":3,
"senderPhone":"66485648866",
"sender":29,
"receiver":null,
"sendTime":"2016-03-08 12:34:09",
"endTime":"2016-02-08 12:40:00",
"longtitude":118.940905,
"latitude":32.126506,
"finished":0
}
]
}
首先讲讲如何获取上面数据中
code 和 message 的方法
其实很简单:
我们将他们赋值给一个变量叫data
$json_string = 'http://52.88.220.193:81/lists.php';//获得json的url
$data = curl_file_get_contents($json_string);//通过方法获得json串
想要拿到code的值:
//对data进行编码
$obj = json_decode($data);
//获得code 值
$code = $obj->code;
$message = $obj->message;
如何拿到data下面的id的值呢?
也很简单:
//data[0] 表示data下第0组 ,下面的意思是第0组的id的值
$arr = $obj->data[0]->id;
其他内容如 title ,type等取法相同
既然取的方法一样 我是不是可以通过循环来做呢?当然可以
不过这里我们知道数据是有5组如果并不知道有几组要如何获取
data有几组数据呢?
用count()方法么?经过测试这个方法似乎并不行,(本人电脑测试,限于环境等因素,不代表所有都不行,可能其他人可以)
我的方法是:先将data的所有数据赋给一个变量,然后使用count()方法计算此数组的大小,事实证明是可行的;:)
$obj = json_decode($data); $size2 = $obj->data; $size2 = count($size2); echo 'data :'.$size2.'<br/>';//显示数组长度
php 解析json的更多相关文章
- Xamarin.Android下获取与解析JSON
一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选择添加引用,引用System.Json.dll 二.同步请求 既然是跨平台,我们自然不能按照java下的 ...
- 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)
在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...
- 阶段一:通过网络请求,获得并解析JSON数据(天气应用)
“阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 在上一篇阶段一:解析JSON中提到,最近在写一个很简单的天气预报应用.即使功能很简单,但我还是想把它做成一个相对完 ...
- 阶段一:解析JSON
“阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 最近学到解析JSON格式的网络数据,而作业也要求自己找一个天气预报的API地址,然后解析其中JSON格式的数据.可 ...
- C语言创建及解析Json的使用法则
参考原文:http://blog.csdn.net/xukai871105/article/details/33013455 JSON(JavaScriptObject Notation)是一种轻量级 ...
- 不一样的dynamic解析json 万能方法
写过javascript的人都知道js解析json 1:(JSON) 字符串转换为对象. var str = '{"name":"lsw","hobb ...
- C# 解析JSON的几种办法
欲成为海洋大师,必知晓海中每一滴水的真名. 刚开始只是想找一个转换JSON数组的方法,结果在MSDN翻到一大把. 搜索过程中免不了碰到一大堆名词:WCF => DataContract => ...
- eval解析JSON中的注意点
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery ...
- C#解析json文件的方法
C# 解析 json JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集. JSON采用完全独立于语言的 ...
- WP8解析JSON格式(使用DataContractJsonSerializer类)(推荐)
DataContractJsonSerializer是.NET自带的类,在解析JSON格式的时候使用起来方便快捷,至于生成方面由于暂时没用到就没去看了.使用需要引用System.Runtime.Ser ...
随机推荐
- 优化SQL查询:如何写出高性能SQL语句
1. 首先要搞明白什么叫执行计划? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条 ...
- 将报表移动端集成到自有移动端app方法【IOS、Android】
应用场景 用户有自己的app,希望把报表的移动端[本文中以FineReport移动端为例]功能集成到他们的app里面去,而不需要安装两个app.Android端和IOS端的集成接口是不一样的,下面我们 ...
- FFT,NTT 专题
学习傅里叶的基本性质及其代码,可以参考大神理解 还有 ACdream 的博客 贴一下NTT的模板: using namespace std; typedef long long ll; int n; ...
- 关闭 Sublime Text 3 自动更新
打开Submine Text,找到Preferences -> Settings-User写入 "update_check":false,PS:一定要加逗号.不会可以看图片 ...
- POJ3321Apple Tree[树转序列 BIT]
Apple Tree Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 26995 Accepted: 8007 Descr ...
- vijos1059 积木城堡[n年浙江省队第X轮](背包的方案总数 or 01背包)
描述 XC的儿子小XC最喜欢玩的游戏用积木垒漂亮的城堡.城堡是用一些立方体的积木垒成的,城堡的每一层是一块积木.小XC是一个比他爸爸XC还聪明的孩子,他发现垒城堡的时候,如果下面的积木比上面的积木大, ...
- bzoj3223 文艺平衡树 (treap or splay分裂+合并)
3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 3313 Solved: 1883 [Submit][S ...
- http协议(九)响应首部字段
响应首部字段: 服务器向客户端返回响应报文中所使用的字段,用于补充的附加信息.服务器信息.以及对客户端的附加要求等 1.Accept-Ranges 告知客户端服务器能否处理范围请求,以指定获取服务器的 ...
- 针对苹果最新审核要求为应用兼容IPv6
在WWDC2015上苹果宣布iOS9将支持纯IPv6的网络服务.2016年初开始所有提交到App Store的应用必须支持IPv6.为确保现有的应用是兼容的,我们需要注意下面几点. 不建议使用底层的网 ...
- Exploit利用学习1:MS09-001
目标 IP: Kali系统IP: 1.使用Metasploit框架,在kali终端输入msfconsole打开Metasploit:如下图 2.搜索相关模块:search ms09-001 找到一个可 ...