Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.
Aşağıdaki hata türü sabitleri, ya json_last_error() tarafından döndürülür ya da JsonException sınıfı altında bir code olarak saklanır.
JSON_ERROR_NONE
(int)
Hata bulunamadı.
JSON_ERROR_DEPTH
(int)
Azami yığın boyutu aşıldı.
JSON_ERROR_STATE_MISMATCH
(int)
Kiplerin eşleşmemesi veya alttan taşma hatalarında oluşur.
JSON_ERROR_CTRL_CHAR
(int)
Denetim karakteri hatası, muhtemelen yanlış kodlanmış.
JSON_ERROR_SYNTAX
(int)
Sözdizimi hatası.
JSON_ERROR_UTF8
(int)
UTF-8 karakter kodlama hatası, muhtemelen yanlış kodlanmış.
JSON_ERROR_RECURSION
(int)
json_encode() işlevine iç içe başvurular içeren nesne
veya dizi aktarılmış. JSON_PARTIAL_OUTPUT_ON_ERROR
seçeneği belirtilirse iç içe başvuruların bulunduğu yerlere null
yerleştirilir.
JSON_ERROR_INF_OR_NAN
(int)
json_encode() işlevine
NAN
veya INF
içeren bir değer aktarılmış.
JSON_PARTIAL_OUTPUT_ON_ERROR seçeneği belirtilirse bu
özel sayıların yerine 0yerleştirilir.
JSON_ERROR_UNSUPPORTED_TYPE
(int)
json_encode() işlevine desteklenmeyen türde
(resource gibi) bir değer aktarılmış.
JSON_PARTIAL_OUTPUT_ON_ERROR seçeneği belirtilirse
desteklenmeyen değerin yerine null yerleştirilir.
JSON_ERROR_INVALID_PROPERTY_NAME
(int)
Bir JSON nesnesi bir PHP nesnesine dönüştürülürken json_decode() işlevine aktarılan dizede \u0000 karakteriyle başlayan bir anahtar vardı.
JSON_ERROR_UTF16
(int)
json_decode() işlevine aktarılan JSON dizesinde bulunan unicode öncelemesi içindeki eşleştirilmemiş tekli UTF-16 vekil.
Aşağıdaki sabitler json_decode() için seçenekler oluşturmak üzere birleştirilebilir.
JSON_BIGINT_AS_STRING
(int)
Geniş tamsayıları özgün dize değerlerine dönüştürür.
JSON_OBJECT_AS_ARRAY
(int)
JSON nesneleri PHP dizisine dönüştürür. Bu seçenek,
json_decode() işlevine ikinci bağımsız değişken olarak
true atanarak da eklenebilir.
Aşağıdaki sabitler json_encode() için seçenekler oluşturmak üzere birleştirilebilir.
JSON_HEX_TAG
(int)
Bütün < ve > karakterleri \u003C ve \u003E karakterlerine dönüştürülürler.
JSON_HEX_AMP
(int)
Bütün & karakterleri \u0026 karakterlerine dönüştürülürler.
JSON_HEX_APOS
(int)
Bütün ' karakterleri \u0027 karakterlerine dönüştürülürler.
JSON_HEX_QUOT
(int)
Bütün " karakterleri \u0022 dönüştürülürler.
JSON_FORCE_OBJECT
(int)
İlişkisel olmayan dizi kullanıldığında çıktıları dizi yerine nesne olmaktadır. Özellikle dizi boş ve çıktı nesne olarak bekleniyorsa çok kullanışlıdır.
JSON_NUMERIC_CHECK
(int)
Sayısal dizgileri sayı olarak ele alınır.
JSON_PRETTY_PRINT
(int)
Dönen veriyi biçimlemek için boşluk karakteri kullanılır.
JSON_UNESCAPED_SLASHES
(int)
/ öncelenmez.
JSON_UNESCAPED_UNICODE
(int)
Çokbaytlı Unicode karakteri sayısal değerleriyle kodlar. (\uXXXX biçimi öntanımlıdır).
JSON_PARTIAL_OUTPUT_ON_ERROR
(int)
Başarısız olmak yerine kodlanamayan bazı değerler değiştirilir.
JSON_PRESERVE_ZERO_FRACTION
(int)
float değerlerin daima kayan noktalı değerler olarak kodlanmasını sağlar.
JSON_UNESCAPED_LINE_TERMINATORS
(int)
JSON_UNESCAPED_UNICODE sağlandığı takdirde satırsonu
karakterleri öncelenmeden saklanır; PHP 7.1 öncesinde aynı davranışı
sağlamak için bu sabit gerekmiyordu.
PHP 7.1.0 sürümünden itibaren kullanılabilir.
Aşağıdaki sabitler json_encode() ve json_decode() için seçenekler oluşturmak üzere birleştirilebilir.
JSON_INVALID_UTF8_IGNORE
(int)
Geçersiz UTF-8 karakterleri yoksayılır. PHP 7.2.0 sürümünden itibaren kullanılabilir.
JSON_INVALID_UTF8_SUBSTITUTE
(int)
Geçersiz UTF-8 karakterleri \0xfffd karakterine dönüştürülür. PHP 7.2.0 sürümünden itibaren kullanılabilir.
JSON_THROW_ON_ERROR
(int)
Bir hata oluşursa küresel hata durumunu
json_last_error() ve
json_last_error_msg() ile ayarlamak yerine bir
JsonException atanır.
JSON_PARTIAL_OUTPUT_ON_ERROR sabiti
JSON_THROW_ON_ERROR sabitine göre önceliklidir.
PHP 7.3.0 sürümünden itibaren kullanılabilir.
JSON_ERROR_NON_BACKED_ENUM
(int)
json_encode()'a aktarılan değer, dizgeleştirilemeyen, desteksiz bir sayılama içeriyor. PHP 8.1.0 ve sonrasında kullanılabilir.