2012-09-09 90 views
-2

我试图在PHP中生成JSON。我的问题是,一些反斜杠停留在JSON字符串,即使我使用json_encodejson_encode将不会删除反斜杠

header('Cache-Control: no-cache, must-revalidate'); 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
header('Content-type: application/json'); 

$jsonurl = 'http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&api_key=e6c27be80b3b54c55376a5f59009a8db&photo_id=7962163506&format=json&nojsoncallback=1'; 
$json = file_get_contents($jsonurl); 

echo json_encode($json); 

结果:

"{\"sizes\":{\"canblog\":0, \"canprint\":0, \"candownload\":1, \"size\":[{\"label\":\"Square\", \"width\":75, \"height\":75, \"source\":\"http:\\\/\\\/farm9.staticflickr.com\\\/8318\\\/7962163506_139d6bf0a0_s.jpg\", \"url\":\"http:\\\/\\\/www.flickr.com\\\/photos\\\/[email protected]\\\/7962163506\\\/sizes\\\/sq\\\/\", \"media\":\"photo\"}, {\"label\":\"Large Square\", \"width\":\"150\", \"height\":\"150\", \"source\":\"http:\\\/\\\/farm9.staticflickr.com\\\/8318\\\/7962163506_139d6bf0a0_q.jpg\", \"url\":\"http:\\\/\\\/www.flickr.com\\\/photos\\\/[email protected]\\\/7962163506\\\/sizes\\\/q\\\/\", \"media\":\"photo\"}, {\"label\":\"Thumbnail\", \"width\":\"100\", \"height\":\"66\", \"source\":\"http:\\\/\\\/farm9.staticflickr.com\\\/8318\\\/7962163506_139d6bf0a0_t.jpg\", \"url\":\"http:\\\/\\\/www.flickr.com\\\/photos\\\/[email protected]\\\/7962163506\\\/sizes\\\/t\\\/\", \"media\":\"photo\"}, {\"label\":\"Small\", \"width\":\"240\", \"height\":\"159\", \"source\":\"http:\\\/\\\/farm9.staticflickr.com\\\/8318\\\/7962163506_139d6bf0a0_m.jpg\", \"url\":\"http:\\\/\\\/www.flickr.com\\\/photos\\\/[email protected]\\\/7962163506\\\/sizes\\\/s\\\/\", \"media\":\"photo\"}, {\"label\":\"Small 320\", \"width\":\"320\", \"height\":212, \"source\":\"http:\\\/\\\/farm9.staticflickr.com\\\/8318\\\/7962163506_139d6bf0a0_n.jpg\", \"url\":\"http:\\\/\\\/www.flickr.com\\\/photos\\\/[email protected]\\\/7962163506\\\/sizes\\\/n\\\/\", \"media\":\"photo\"}, {\"label\":\"Medium\", \"width\":\"500\", \"height\":\"331\", \"source\":\"http:\\\/\\\/farm9.staticflickr.com\\\/8318\\\/7962163506_139d6bf0a0.jpg\", \"url\":\"http:\\\/\\\/www.flickr.com\\\/photos\\\/[email protected]\\\/7962163506\\\/sizes\\\/m\\\/\", \"media\":\"photo\"}, {\"label\":\"Medium 640\", \"width\":\"640\", \"height\":\"424\", \"source\":\"http:\\\/\\\/farm9.staticflickr.com\\\/8318\\\/7962163506_139d6bf0a0_z.jpg\", \"url\":\"http:\\\/\\\/www.flickr.com\\\/photos\\\/[email protected]\\\/7962163506\\\/sizes\\\/z\\\/\", \"media\":\"photo\"}, {\"label\":\"Medium 800\", \"width\":\"800\", \"height\":530, \"source\":\"http:\\\/\\\/farm9.staticflickr.com\\\/8318\\\/7962163506_139d6bf0a0_c.jpg\", \"url\":\"http:\\\/\\\/www.flickr.com\\\/photos\\\/[email protected]\\\/7962163506\\\/sizes\\\/c\\\/\", \"media\":\"photo\"}, {\"label\":\"Large\", \"width\":\"1024\", \"height\":\"678\", \"source\":\"http:\\\/\\\/farm9.staticflickr.com\\\/8318\\\/7962163506_139d6bf0a0_b.jpg\", \"url\":\"http:\\\/\\\/www.flickr.com\\\/photos\\\/[email protected]\\\/7962163506\\\/sizes\\\/l\\\/\", \"media\":\"photo\"}]}, \"stat\":\"ok\"}" 

预期结果:

{"sizes":{"canblog":0, "canprint":0, "candownload":1, "size":[{"label":"Square", "width":75, "height":75, "source":"http:\/\/farm9.staticflickr.com\/8306\/7962671096_61367d4804_s.jpg", "url":"http:\/\/www.flickr.com\/photos\/[email protected]\/7962671096\/sizes\/sq\/", "media":"photo"}, {"label":"Large Square", "width":"150", "height":"150", "source":"http:\/\/farm9.staticflickr.com\/8306\/7962671096_61367d4804_q.jpg", "url":"http:\/\/www.flickr.com\/photos\/[email protected]\/7962671096\/sizes\/q\/", "media":"photo"}, {"label":"Thumbnail", "width":"100", "height":"66", "source":"http:\/\/farm9.staticflickr.com\/8306\/7962671096_61367d4804_t.jpg", "url":"http:\/\/www.flickr.com\/photos\/[email protected]\/7962671096\/sizes\/t\/", "media":"photo"}, {"label":"Small", "width":"240", "height":"159", "source":"http:\/\/farm9.staticflickr.com\/8306\/7962671096_61367d4804_m.jpg", "url":"http:\/\/www.flickr.com\/photos\/[email protected]\/7962671096\/sizes\/s\/", "media":"photo"}, {"label":"Small 320", "width":"320", "height":212, "source":"http:\/\/farm9.staticflickr.com\/8306\/7962671096_61367d4804_n.jpg", "url":"http:\/\/www.flickr.com\/photos\/[email protected]\/7962671096\/sizes\/n\/", "media":"photo"}, {"label":"Medium", "width":"500", "height":"331", "source":"http:\/\/farm9.staticflickr.com\/8306\/7962671096_61367d4804.jpg", "url":"http:\/\/www.flickr.com\/photos\/[email protected]\/7962671096\/sizes\/m\/", "media":"photo"}, {"label":"Medium 640", "width":"640", "height":"424", "source":"http:\/\/farm9.staticflickr.com\/8306\/7962671096_61367d4804_z.jpg", "url":"http:\/\/www.flickr.com\/photos\/[email protected]\/7962671096\/sizes\/z\/", "media":"photo"}, {"label":"Medium 800", "width":"800", "height":530, "source":"http:\/\/farm9.staticflickr.com\/8306\/7962671096_61367d4804_c.jpg", "url":"http:\/\/www.flickr.com\/photos\/[email protected]\/7962671096\/sizes\/c\/", "media":"photo"}, {"label":"Large", "width":"1024", "height":"678", "source":"http:\/\/farm9.staticflickr.com\/8306\/7962671096_61367d4804_b.jpg", "url":"http:\/\/www.flickr.com\/photos\/[email protected]\/7962671096\/sizes\/l\/", "media":"photo"}]}, "stat":"ok"} 

怎么办我需要改变以获得正确的JSON字符串?

+2

致上言:诚实的问题:为什么? – PeeHaa

回答

5

它看起来像你的电话json_encode JSON字符串,只是输出它。

header('Cache-Control: no-cache, must-revalidate'); 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
header('Content-type: application/json'); 

$jsonurl = 'http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&api_key=e6c27be80b3b54c55376a5f59009a8db&photo_id=7962163506&format=json&nojsoncallback=1'; 
echo file_get_contents($jsonurl); 
+1

@repox感谢您的修复 – Musa

1

你已经有一个JSON字符串,就没有必要再打电话json_encode,当你有一些数据结构,并希望序列化为JSON该功能应该被使用,在这种情况下,你可以原样输出。