2016-05-12 54 views
0

我使用Mavenlink API來創建一個項目中的「ID」:找到正確的路徑,這陣

$response = $client->createWorkspace(array("title" => $project_number . ' ' . $company_name, "creator_role" => "maven")); 

print_r($response); 

$project_id = $response->id; 

echo "project id: " . $project_id; 

創建項目的部分工作正常,但我無法找到正確的路徑「ID」。我需要這個ID,這樣我就可以使用更新方法向項目添加更多信息。

下面有響應輸出的屏幕截圖:

enter image description here

原始響應:

{"count":1,"workspaces":{"12220207":{"title":"34343 Add New","archived":false,"description":"","due_date":"","effective_due_date":"","start_date":"","budgeted":true,"change_orders_enabled":true,"updated_at":"2016-05-12T10:51:01-07:00","created_at":"2016-05-12T10:51:01-07:00","consultant_role_name":"FUEL","client_role_name":"Clients","percentage_complete":0,"access_level":"open","exclude_archived_stories_percent_complete":false,"can_create_line_items":true,"default_rate":"125.00","currency_symbol":"$","currency_base_unit":100,"can_invite":true,"has_budget_access":true,"tasks_default_non_billable":false,"rate_card_id":null,"workspace_invoice_preference_id":null,"posts_require_privacy_decision":false,"require_time_approvals":false,"require_expense_approvals":false,"stories_are_fixed_fee_by_default":false,"price":"TBD","price_in_cents":null,"budget_used":"$0","over_budget":false,"currency":"USD","expenses_in_burn_rate":true,"budget_used_in_cents":0,"total_expenses_in_cents":0,"status":{"color":"grey","message":"Not Started","key":130},"permissions":{"can_upload_files":true,"can_private_message":true,"can_join":false,"is_participant":true,"access_level":"admin","team_lead":true,"user_is_client":false},"creator_id":"10340340030","id":"12220207"}},"results":[{"key":"workspaces","id":"12220207"}]} 

當我回聲PROJECT_ID,它顯示爲空白。什麼是目標「ID」的正確途徑?

謝謝!

+0

你可以在問題中發佈'$ response'。 –

+0

其顯示在屏幕截圖 – cpcdev

+0

需要原始,請發佈。 –

回答

0

只是json解碼,你會得到它。假設你有你的json $json

Online check

$arr = json_decode($json);  
echo $arr->workspaces->{12220207}->id; //12220207 

爲了得到結果id

echo $arr->results[0]->id; //12220207 
+0

即時通訊困惑..在你提供的代碼你仍然提供的ID?這是我不知道,並試圖提取 – cpcdev

+0

請檢查在線支票。你的'json'中有這個id作爲關鍵。 –

+1

真棒..沒有看到你的編輯!謝謝!很棒! – cpcdev

0
$json = '{"count":1,"workspaces":{"12220207":{"title":"34343 Add New","archived":false,"description":"","due_date":"","effective_due_date":"","start_date":"","budgeted":true,"change_orders_enabled":true,"updated_at":"2016-05-12T10:51:01-07:00","created_at":"2016-05-12T10:51:01-07:00","consultant_role_name":"FUEL","client_role_name":"Clients","percentage_complete":0,"access_level":"open","exclude_archived_stories_percent_complete":false,"can_create_line_items":true,"default_rate":"125.00","currency_symbol":"$","currency_base_unit":100,"can_invite":true,"has_budget_access":true,"tasks_default_non_billable":false,"rate_card_id":null,"workspace_invoice_preference_id":null,"posts_require_privacy_decision":false,"require_time_approvals":false,"require_expense_approvals":false,"stories_are_fixed_fee_by_default":false,"price":"TBD","price_in_cents":null,"budget_used":"$0","over_budget":false,"currency":"USD","expenses_in_burn_rate":true,"budget_used_in_cents":0,"total_expenses_in_cents":0,"status":{"color":"grey","message":"Not Started","key":130},"permissions":{"can_upload_files":true,"can_private_message":true,"can_join":false,"is_participant":true,"access_level":"admin","team_lead":true,"user_is_client":false},"creator_id":"6333747","id":"12220207"}},"results":[{"key":"workspaces","id":"12220207"}]}'; 
$result = json_decode($json,true);  
//print_r($result); 
echo $result['results'][0]['id']; 

http://sandbox.onlinephpfunctions.com/code/27d4ff8d1632177db97f9e9122e7a51bd6e11146

0

您需要的JSON首先使用json_decode解碼。

$response = json_decode($raw); 

您可以將其打印出來,以便您可以使用print_r查看佈局。

print_r($response); 

正如你可以看到它使它成爲一個對象,所以你可以很容易地訪問信息。在結果和內部工作空間下,ID都是相同的。因此你有2個解決方案。

要麼

$id = $response->results[0]->id; 

或者

$id = $response->workspaces->{12220207}->id; 

這顯然是糟糕的,因爲12220207不是一個靜態的數字。

+0

12220207是正在搜索,所以基本上'$反應 - >工作區 - > {12220207} - > ID;'將返回12220207. –

+0

@PeterDarmis,從哪裏得到這個信息,OP搜索與'12220207'? –

+0

@PeterDarmis下次他改變了他的參數(標題和創建者角色),他將很可能得到一個不同的工作空間,具有不同的ID。他不是在尋找這個ID,而是以此作爲迴應。很愚蠢downvote。 – GunniH

相關問題