2016-08-31 2 views
0

Ich bin ein Token:Wie spezifischen Wert in PHP für den Zugriff auf und json

$url = "https://api.pipedrive.com/v1/deals?api_token=3bd884bb0078f836a56f1464097fb71eac9d50ce"; 

und hier ist der json Text (nicht alles);

{ 
    "success":true, 
    "data":[{ 
      "id":1, 
      "creator_user_id":{ 
         "id":1682756, 
         "name":"Kamilah", 
         "email":"[email protected]", 
         "has_pic":false, 
         "pic_hash":null, 
         "active_flag":true, 
         "value":1682756}, 
         "title":"FFS Organization deal" 
      }] 
    } 

Ich wollte "Titel" angezeigt und ich bekomme immer einen Fehler

Notice: Undefined index: creator_user_id in C: \ xampp \ htdocs \ PipeDrive \ getjson.php on line 8

Hier ist mein Code so weit:

$url = "https://api.pipedrive.com/v1/deals?api_token=3bd884bb0078f836a56f1464097fb71eac9d50ce"; 

$response = file_get_contents($url); 
$object = json_decode($response, true); 

echo $object['data']['creator_user_id']['title']; 

I‘ Ich bin neu bei JSON, also übe ich nur und versuche herauszufinden, wie man einen bestimmten Wert in PHP ausgibt. Würdest gerne gesehen, wenn du genau erklären kannst, wie es funktioniert, wenn du von json zu php echoest.

Vielen Dank! :)

+1

'$ object [ 'data'] [0] [ 'creator_user_id'] [ 'title']' –

+0

es wie Daten sieht ist ein JSON-Array (wie durch die [] in der JSON-Zeichenkette angegeben), also sollten Sie [0] zwischen Daten und creator_user_id verwenden – furrie

+0

Sie haben zwei IDs in diesem Array nicht 1 – devpro

Antwort

0

Zuerst müssen Sie das Array nach der Verwendung von json_decode() debuggen.

<?php 
$url = "https://api.pipedrive.com/v1/deals?api_token=3bd884bb0078f836a56f1464097fb71eac9d50ce"; 

$response = file_get_contents($url); 
$object = json_decode($response, true); 
echo "<pre>"; 
print_r($object); // this will print all data into array format. 
?> 

Gemäß dieser Anordnung, müssen Sie nicht title Index innerhalb des creator_user_id Array. title ist ein separater Index.

Beachten Sie auch, dass $object['data'] enthält zwei Indizes nicht eins. Sie können erhalten title als:

<?php 
foreach ($object['data'] as $key => $value) { 
    //print_r($value); // this will print the values inside the data array. 
    echo $value['title']."<br/>"; // this will print all title inside your array. 
} 
?> 

Ergebnis:

FFS Organization deal 
Google deal 
+1

Ja, danke. Ich habe nicht bemerkt, dass der Titel nicht in creator_user_id enthalten ist. Hat viel geholfen: D – blakcat7

Verwandte Themen