2010-04-13 13 views
12

में json_encode() 5.3 कार्यक्षमता की आवश्यकता है लंबी कहानी छोटी, ग्राहक की होस्टिंग PHP 5.2.5 का उपयोग कर रही है और मुझे json_encode() के साथ JSON_FORCE_OBJECT विकल्प का उपयोग करने की जरुरत है जो 5.3 के साथ आया था। क्या किसी को उस उद्देश्य के लिए कुछ समकक्ष पता है? कृपया इसे इंगित करें।PHP: 5.2

+0

क्यों न केवल 5.3 तक अपग्रेड करें? – cletus

+10

@cletus अगर हम सभी को केवल – typeoneerror

+0

पर हर होस्टिंग पर्यावरण पर नियंत्रण था ... मैं अभी भी 4.2/रो – nickf

उत्तर

19

5.2.5 पर मेरे लिए काम किया एन्कोडिंग से पहले एक वस्तु के रूप कास्टिंग:

$array = array(1,2,3); 

echo json_encode($array); 
// [0,1,2] 
echo json_encode((object)$array); 
// {"0":1,"1":2,"2":3} 

और पीएचपी 5.3 का उपयोग कर एक ही उत्पादन पैदावार:

echo json_encode($array); 
// [0,1,2] 
echo json_encode($array, JSON_FORCE_OBJECT); 
// {"0":1,"1":2,"2":3} 

तुम भी हो सकता है किसी अन्य धागे से this solution आज़माएं। सुनिश्चित नहीं है कि आपका सटीक उपयोग-केस क्या है।

+0

पर हूं, इसे PHP json_encode फ़ंक्शन पेज पर दस्तावेज़ित किया जाना चाहिए। – Haris

+0

धन्यवाद। कास्टिंग करना चाल चलाना चाहिए! – Zlatev

1

आप PHP के पुराने संस्करणों पर json_encode का समर्थन करने के लिए PHP नाशपाती पैकेज का उपयोग कर सकते हैं। ऐसा लगता है कि एन्कोडेड ऑब्जेक्ट्स का समर्थन करता है।

चेकआउट http://pear.php.net/package/Services_JSON/

संबंधित मुद्दे