2016-03-09 164 views
0

晚上好,我在Todoist上有一个帐户。我会使用Todoist API来获取所有项目。我写了下面的代码:Todoist API - 从字符串到字符串的反转输出

$url = "https://todoist.com/API/v6/sync"; 
$post_data = array(
    'token' => "123456789abcdefabcdef", 
    'seq_no' => "0", 
    'resource_types' => '["projects"]' 
); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_POST, 1); 

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); 

$output = curl_exec($ch); 

print_r($output); 

curl_close($ch); 

输出是这样的字符串:

{ “TempIdMapping”:{}, “seq_no_global”:6201059540, “seq_no”:6201059540, “用户ID” :7179424, “项目”:[{ “USER_ID”:7179424, “姓名”: “PROJECT1”, “色彩”:1, “IS_DELETED”:0, “坍塌”:0, “ID”:165361294 “archived_date” :NULL, “item_order”:1, “缩进”:1, “archived_timestamp”:0, “共享”:假 “is_archived”:0},{ “缩进”:1, “名称”: “收件箱”,” USER_ID “:7179424,” 颜色 “:7,” IS_DELETED “:0,” 崩溃 “:0,” inbox_project “:真实的,” archived_date “:空,” item_order “:0,” is_archived “:0,” archived_timestamp” :0,“shared”:false,“id”:165339673}]}

有没有办法将此输出转换为数组? 例子:

TempIdMapping => {}, 

seq_no_global => 6201059540, 

seq_no => 6201059540 

等等...

回答

0

你的输出JSON格式化,所以你可以使用json_decode像这样

json_decode($output, true); 

第二个参数的结果转换为关联数组而不是stdObject

+0

谢谢。你为我节省了很多时间。 最后一个问题。 我想只提取一个字段: 例如。 seq_no_global => 6201059540. 我该怎么办? – Pedrag

+0

类似于'json_decode($ output,true)['seq_no_global'];'?如果有帮助,不要忘记注册并标记为已解决;) – PeterPan666

+0

谢谢。你的答案很有用。 – Pedrag