2016-07-26 22 views
0

Dies ist die JSON-Datei:Die JSON-Daten konnten nicht mit PHP abgerufen werden. Warum?

// [{ "id": "5417778", "t": "TATAMTRDVR", "e": "NSE", "l": "329,80" , "l_fix": "329.80", "l_cur": "Rs. 329.80", "s": "0" , "Ltt": "11:11 AM GMT + 5: 30", "lt": "26. Jul , 11:11 Uhr GMT + 5: 30 "," lt_dts " :" 2016-07-26T11: 11: 45Z "," c ":" -0,35 "," c_fix ":" -0,35 "," cp ": "-0,11", "cp_fix": "-0,11", "ccol": "chr", "pcls_fix": "330,15"}]

Und mein Code,

<?php 
$json = file_get_contents('http://finance.google.com/finance/info?q=NSE:TATAMTRDVR'); 
$obj = json_decode($json); 
echo $obj->id; 
?> 

die Fehlermeldung angezeigt wird,

Hinweis: Der Versuch Eigenschaft des Nicht-Objekt in C zu erhalten: \ xampp \ htdocs \ fin \ latest_stock.php on line

+0

'print_r ($ obj)' und zeigen Sie mir, welche Daten stammen. –

+2

Die // verhindern, dass das Objekt verarbeitet wird – jeff

+0

@Anant Es scheint, dass das '//' in der Ausgabe von der URL enthalten ist ... – jeroen

Antwort

1

Es ist kein gültiger JSON. Entfernen Sie "//" aus der JSON-Antwort und Ihr Code funktioniert einwandfrei.

+0

Antwort von http://finance.google.com/finance/info?q=NSE:TATAMTRDVR hat "//" als Präfix. – Deepak

+0

ja, ich habe das. Es funktioniert jetzt. – Nerazzurri

0

Das Objekt befindet sich in einem Array enthalten, so dass Sie dies tun müssen:

echo $obj[0]->id; 

statt

echo $obj->id; 

Hoffnung, das hilft.

+0

nein, es funktioniert nicht – Nerazzurri

+0

was bekommen Sie –

+0

Ich bekomme den gleichen Fehler. – Nerazzurri

0

Konvertieren Sie zuerst in ein gültiges JSON. Entfernen Sie zuerst die Schrägstriche ("//").

<?php 
$response = file_get_contents('http://finance.google.com/finance/info?  q=NSE:TATAMTRDVR'); 
$modifiedResponse = str_replace('// ','',$response); 
$obj = json_decode($modifiedResponse); 
echo $obj[0]->id; 
?> 
Verwandte Themen