簡體   English   中英

PHP中的json_decode

[英]json_decode in php

我想對這個json文件使用json_decode,但是出了點問題。 幾天前工作正常,但現在返回NULL。

<?php 

$url = 'http://opendata.diavgeia.gov.gr/api/decisions?org=eot&output=json'; 


function works2($url) 
{ 
   $opts = array( 
     'http'=>array( 
       'method'=>"GET", 
       'header'=>"Connection:Keep-Alive\r\nAccept:*/*\r\n" 
     ) 
   ); 

   $context = stream_context_create($opts); 
   $retstr = file_get_contents($url,false,$context); 
   return $retstr; 
} 


var_dump(json_decode(works2($url)));
?>

有人可以幫我嗎?

我使用了JSON驗證程序,並且該網址似乎提供了無效的JSON

嘗試使用jsonList在此處驗證URL http://jsonlint.com/

我懂了

 Parse error on line 822:
 ...         "subject": "Ματαίωση του πρόχει
 -----------------------^
 Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['

如果URL提供了正確的JSON字符串,則您的代碼應該可以使用。

我不認為json_decode為您停止工作。 而是服務器響應。 您是否打印$ retstr以確保它不為空或損壞?

works2結果還可以。 json編碼的內容可能太大,或者(可能)包含不需要的字符或格式錯誤的序列。 看一下默認的opendata輸出。 它是xml格式,但下載時間很長。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM