2016-03-09 89 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