Tôi đang cố gắng xử lý dữ liệu json xấu khi được phân tích cú pháp thông qua json_decode(). Tôi đang sử dụng các kịch bản sau đây:Phát hiện dữ liệu json xấu trong PHP json_decode()?
if(!json_decode($_POST)) {
echo "bad json data!";
exit;
}
Nếu $ _POST bằng:
'{ bar: "baz" }'
Sau đó json_decode xử lý tiền phạt lỗi và spits ra; "dữ liệu json xấu!" Tuy nhiên, nếu tôi đặt $ _POST để một cái gì đó như "dữ liệu không hợp lệ", nó mang lại cho tôi:
Warning: json_decode() expects parameter 1 to be string, array given in C:\server\www\myserver.dev\public_html\rivrUI\public_home\index.php on line 6
bad json data!
Tôi có cần phải viết một kịch bản tùy chỉnh để phát hiện dữ liệu json hợp lệ, hoặc là có một số cách tiện lợi khác để phát hiện điều này?
'$ _POST' luôn là một mảng c ontaining các thông số * x-www-form-urlencoded * được truyền qua POST. Làm thế nào để bạn gửi dữ liệu của bạn vào kịch bản PHP của bạn? – Gumbo
Các hàm json đi kèm trong PHP không có nhiều trợ giúp. Họ có rất nhiều vấn đề. Hãy xem [json.org] (http://json.org/) để tìm một thư viện tốt. – whiskeysierra