文档章节

php 解析json

我辈年轻1
 我辈年轻1
发布于 2016/11/03 19:22
字数 544
阅读 2
收藏 0

今天做项目的时候需要用到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/>';//显示数组长度

 

本文转载自:http://www.cnblogs.com/wobeinianqing/p/5319019.html

我辈年轻1
粉丝 1
博文 85
码字总数 0
作品 0
南京
程序员
私信 提问
这么小改一下,PHP json_decode内存节省70%

如果你用PHP的json_decode函数解析JSON串,而且JSON串中包含一个大量元素的数组,那你就要小心解析过程中PHP超出内存上限了。 笔者在开发时遇到一个JSON文件需要解析,该JSON中包含了一个由众...

supergao222
2017/11/08
0
0
ANDROID解析JSON数据

这一个环节可以说是卡的比较久的了。对于用惯了php那样的json解析方式的我,头一次使用JAVA的json解析方法,感到非常的头疼。 首先,服务端返回的数据格式如下: [ { "title":"u8bddu8d39u51...

qii
2014/03/20
0
0
一次有趣的 php json_decode error 分析

之前同事问了我一个有趣的问题,说为什么这个 json 字符串从缓存里读出来可以解析,但是作为一个 php 变量却解析错误呢? 先看一个我已经简化了的例子 输出 如果你直接把输出的 json 字符串赋...

anoty
2018/09/28
0
0
xml与json

1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进...

ok绷forever
2016/07/21
14
0
json_encode不对中文进行转码、json_decode解析json字符串返回NULL的处理方法

josn_encode不对中文进行转码 用PHP的jsonencode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式。 在PHP5.4及以上, Json新增了一个选项: JSONUNESCAPED_UNICODE, 故名...

anda0109
2017/10/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

蚂蚁区块链BaaS:开放在云端,落地于实体

自 2018 年 6 月上线以来,蚂蚁区块链 BaaS 不断在技术上实现突破,形成自身独特的优势,并做为行业领军者在不同领域的几十个场景实现落地。在区块链的商用时代加速到来之际,通过开放自身的...

阿里云官方博客
35分钟前
3
0
Idea cannot access【好使】

Idea中无法访问类中public方法。。 解决: idea点击左下角电脑图标,打开右边栏各种功能键 右边栏Maven Projects中点一下刷新,就是那个两个蓝的箭头组成的环 ----------------------------...

Airship
36分钟前
3
0
Spark内置图像数据源初探

作者:林武康,花名知瑕, 阿里巴巴计算平台事业部EMR团队的高级开发工程师,Apache HUE Contributor, 参与了多个开源项目的研发工作,对于分布式系统设计应用有较丰富的经验,目前主要专注于...

阿里云云栖社区
36分钟前
1
0
【面试被虐】游戏中的敏感词过滤是如何实现的?

小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了以下事情的发生….. 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过...

爱编程的浪子
39分钟前
4
0
springboot之maven属性引入

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.7</version><configuration><delimiters><delimite......

Online_Reus
40分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部