2011-08-21 107 views
0

有人可以幫我解碼這個JSON到PHP?PHP JSON解碼

這裏是JSON:

{ 
    "queue": { 
     "active_lang": "en", 
     "paused": false, 
     "session": "9bc093acde2a3833569ace5f71ee134e", 
     "restart_req": false, 
     "power_options": true, 
     "slots": [ 
      { 
       "status": "Downloading", 
       "index": 0, 
       "eta": "22:23 Sun 21 Aug", 
       "missing": 0, 
       "avg_age": "3h", 
       "script": "None", 
       "msgid": "", 
       "verbosity": "", 
       "mb": "534.79", 
       "sizeleft": "462 MB", 
       "filename": "VA_-_Drum_and_Bass_Summer_Slammers_2011-(VPRLP003S2)-WEB-2011-HB", 
       "priority": "Normal", 
       "cat": "music", 
       "mbleft": "462.17", 
       "timeleft": "4:05:09", 
       "percentage": "13", 
       "nzo_id": "SABnzbd_nzo_mhammg", 
       "unpackopts": "3", 
       "size": "535 MB" 
      } 
     ], 
     "speed": "32 K", 
     "helpuri": "http://wiki.sabnzbd.org/", 
     "size": "535 MB", 
     "uptime": "2h", 
     "refresh_rate": "10", 
     "limit": 0, 
     "isverbose": false, 
     "start": 0, 
     "version": "0.6.8", 
     "new_rel_url": "", 
     "diskspacetotal2": "1843.48", 
     "color_scheme": "gold", 
     "diskspacetotal1": "1843.48", 
     "nt": true, 
     "status": "Downloading", 
     "last_warning": "", 
     "have_warnings": "0", 
     "cache_art": "6", 
     "sizeleft": "462 MB", 
     "finishaction": null, 
     "paused_all": false, 
     "cache_size": "4 MB", 
     "finish": 0, 
     "new_release": "", 
     "pause_int": "0", 
     "mbleft": "462.17", 
     "diskspace1": "703.54", 
     "scripts": [], 
     "categories": [ 
      "*", 
      "movies", 
      "music", 
      "series", 
      "software", 
      "tv" 
     ], 
     "darwin": false, 
     "timeleft": "4:05:09", 
     "mb": "534.79", 
     "noofslots": 1, 
     "eta": "22:23 Sun 21 Aug", 
     "nzb_quota": "", 
     "loadavg": "", 
     "cache_max": "8388608", 
     "kbpersec": "32.17", 
     "speedlimit": "", 
     "webdir": "C:\\Program Files (x86)\\SABnzbd\\interfaces\\Plush\\templates", 
     "queue_details": "0", 
     "diskspace2": "703.54" 
    } 
} 

我到目前爲止這樣的代碼:

$APIArray = json_decode($urlContents, true); 
    $APIqueue = ($APIArray['queue']); 
    $APIkbpersec = ($APIArray['kbpersec']); 
//  print_r($APIkbpersec); 
    echo $APIkbpersec; 

,但我似乎無法打印出 「kbpersec」 或JSON的任何其它值。我之前和json一起工作過,但我似乎無法解決這個問題,如果有人能幫上忙,那會很棒。

+0

$ urlContents是JSON字符串 –

+0

是正確的JSON?爲我返回null – RiaD

+0

您可怕的變量名稱可能是問題的一部分。試試'$ json = json_decode(...);'並簡單地'print $ json [「queue」] [「kbpersec」]; - 另請參閱http://php.net/manual/en/language中的示例.types.array.php – mario

回答

1

您的kbpersec是在您的$APIqueue變量下,而不是$APIArray之一。

你的代碼改成這樣:

$APIArray = json_decode($urlContents, true); 

$APIqueue = $APIArray['queue']; 
$APIkbpersec = $APIqueue['kbpersec']; 

echo $APIkbpersec; 

或:

$APIArray = json_decode($urlContents, true); 

$APIqueue = $APIArray['queue']; 
$APIkbpersec = $APIArray['queue']['kbpersec']; 

echo $APIkbpersec; 
+0

我不敢相信我沒有看到......謝謝! –