PHP Json Kodlama w / quote 5.2 kaçan?

3 Cevap php

Ben flickr api ve php ile oynuyorum. Ben Ajax ile Javascript PHP bazı bilgileri aktarmak istiyorum. Ben aşağıdaki kodu vardır:

json_encode($pics);

hangi Aşağıdaki örnek JSON dize sonuçları:

[{"id":"4363603591","title":"blue, white and red...another seattle view","date_faved":"1266379499"},{"id":"4004908219","title":"\u201cI just told you my dreams and you made me see that I could walk into the sun and I could still be me and now I can't deny nothing lasts forever.\u201d","date_faved":"1259987670"}]

Javascript nedeniyle ikinci öğe olarak çıkmamış bir tek-tırnak ("inkar edemez"), ancak, bu ile sorunları var.

Ben tırnak şerit yapmak için options parametresi ile fonksiyon json_encode kullanmak istiyorum, ama PHP 5.3 sadece mevcut bulunuyor, ve ben 5.2 (benim sunucu) koşuyorum. Tüm dizi boyunca çalıştırın ve Json bunu kodlayan önce her şeyi kaçmak için hızlı bir yol var mı? Bunu yapmak için bir yol aradı, ancak tüm ben veri üreten biri değilim ben yapamayacağı bir şey, veri oluşturulur olarak kodlayan uğraşmak gibi görünüyor.

Bu yardımcı olur, ben şu anda ajax isteği sonra aşağıdaki javascript kullanıyorum:

var photos = eval('(' + resptxt + ')');  

3 Cevap

Eğer JSON2 yerine kullanarak düşündünüz mü eval()? Detaylar here.

str_replace ('\'',' \ \'', json_encode ($ resim))

Sen dizi boyunca yürümek ve elle işlemek için (recursive) foreach yapmak gerekecek. Bir str_replace yapabilirsiniz, ama addslashes gibi çalışıyor (ve addcslashes bile daha iyidir.)