我正在尝试让PHP从具有以下文本的网页中提取TOKEN(大写的),USERID(大写)和USER NAME(大写)。
{
"rsp":{
"stat":"ok",
"auth":{
"token":"**TOKEN**",
"perms":"read",
"user":{
"id":"**USERID**",
"username":"**USER NAME**",
"fullname":"**NAME OF USER**"
}
}
}
}
(这是来自RTM api,获取用户的身份验证令牌)。
我该怎么做呢?谢谢!
修改
我如何获得任务名称“购买牛奶!” &安培;任务“2011-02-28T ..”的截止日期在这里使用json_decode和php?谢谢!
{
"rsp":{
"stat":"ok",
"tasks":{
"rev":"REV_NUMBER",
"list":{
"id":"ID_NUMBER",
"taskseries":{
"id":"ID_NUMBER",
"created":"2010-11-16T00:01:50Z",
"modified":"2011-02-28T05:09:36Z",
"name":"Buy Milk!",
"source":"js",
"url":"",
"location_id":"",
"rrule":{
"every":"1",
"$t":"FREQ=WEEKLY;INTERVAL=1"
},
"tags":[
],
"participants":[
],
"notes":[
],
"task":{
"id":"ID_NUMBER" ,
"due":"2011-02-28T05:00:00Z",
"has_due_time":"0",
"added":"2011-02-21T05:04:49Z",
"completed":"",
"deleted":"",
"priority":"2",
"postponed":"0",
"estimate":""
}
}
}
}
}
}
答案 0 :(得分:2)
正如德兰所建议的那样,使用json_decode
。以下是如何使用json_decode
提取所需信息的示例。
// your json string
$string = '{"rsp":{"stat":"ok","auth":{"token":"**TOKEN**","perms":"read","user":{"id":"**USERID**","username":"**USER NAME**","fullname":"**NAME OF USER**"}}}}';
// parse json string to an array
$array = json_decode($string, true);
// auth token
echo $array['rsp']['auth']['token'];
// user details
echo $array['rsp']['auth']['user']['id'];
echo $array['rsp']['auth']['user']['username'];
echo $array['rsp']['auth']['user']['fullname'];
UPDATE 我已经更新了代码,使用json_decode的$ assoc参数将对象转换为关联数组。
另一个更新要回答您更新的问题..
我如何获得任务名称“购买牛奶!” &安培;任务“2011-02-28T ..”的截止日期在这里使用json_decode和php?谢谢!
此代码可用于获取所需的值。
//string(9) "Buy Milk!"
echo $array['rsp']['tasks']['list']['taskseries']['name'];
// string(20) "2011-02-28T05:00:00Z"
echo $array['rsp']['tasks']['list']['taskseries']['task']['due'];
此代码并不理想,但它可以帮助您完成工作。
答案 1 :(得分:0)
如果字符串是JSON,PHP中的json_decode
就可以解决问题。它是在PHP 5.2.0中实现的。