2010-04-13 34 views
12

Dài câu chuyện ngắn, lưu trữ của khách hàng đang sử dụng php 5.2.5 và tôi tuyệt vọng cần phải sử dụng tùy chọn JSON_FORCE_OBJECT với json_encode() đi kèm với 5.3. Có ai biết tương đương với mục đích đó không? Hãy chỉ ra.PHP: cần json_encode() 5.3 chức năng trong 5.2

+0

Tại sao không chỉ nâng cấp lên 5.3? – cletus

+10

@cletus nếu chỉ tất cả chúng ta có quyền kiểm soát mọi môi trường lưu trữ bao giờ – typeoneerror

+0

... tôi vẫn đang trên 4,2/khóc – nickf

Trả lời

19

Đúc như một đối tượng trước khi mã hóa làm việc cho tôi trên 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} 

Và sử dụng PHP 5.3 mang lại cùng một kết quả:

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

Bạn cũng có thể hãy thử this solution từ một chuỗi khác. Bạn không chắc chắn trường hợp sử dụng chính xác của bạn là gì.

+0

Điều này sẽ được ghi lại trên trang chức năng json_encode của PHP. – Haris

+0

Cảm ơn bạn. Đúc nên làm các trick! – Zlatev

1

Bạn có thể sử dụng gói lê PHP để hỗ trợ json_encode trên các phiên bản cũ hơn của PHP. Dường như nó hỗ trợ các đối tượng được mã hóa.

Thanh toán http://pear.php.net/package/Services_JSON/

Các vấn đề liên quan