Stałe predefiniowane

Poniższe stałe są zdefiniowane w tym rozszerzeniu i stają się dostępne, gdy rozszerzenie jest dokompilowane z PHP, lub załadowane dynamicznie przy starcie.

Poniższe stałe definiują typy błędów zwracanych za pomocą json_last_error(). Stałe są dostępne od PHP 5.3.0.

JSON_ERROR_NONE (integer)
Nie wystąpił żaden błąd.
JSON_ERROR_DEPTH (integer)
Przekroczono maksymalny poziom zagnieżdżenia danych.
JSON_ERROR_CTRL_CHAR (integer)
Błąd znaku kontrolnego. Prawdopodobnie został on nieprawidłowo zakodowany.
JSON_ERROR_SYNTAX (integer)
Błąd składni.
JSON_ERROR_UTF8 (integer)
Spreparowane znaki UTF-8. Możliwe, że nieprawidłowo zakodowane. Ta stała jest dostępna od PHP 5.3.1.

Następujące stałe mogą być użyte jako kombinacja opcji dla json_encode(). Stałe dostępne są od PHP 5.3.0.

JSON_HEX_TAG (integer)
Konwertuje wszystkie < i > na \u003C i \u003E.
JSON_HEX_AMP (integer)
Konwertuje wszystkie & na \u0026.
JSON_HEX_APOS (integer)
Konwertuje wszystkie pojedyńcze cudzyszłowy ' na \u0027.
JSON_HEX_QUOT (integer)
Konwertuje wszystkie podwójne cudzysłowy " na \u0022.
JSON_FORCE_OBJECT (integer)
Zwraca obiekt zamiast tablicy, kiedy zostanie użyta nieasocjacyjna tablica. Jest to szczególnie użyteczne, kiedy na wyjściu oczekujemy obiektu, a tablica jest pusta.
add a note add a note

User Contributed Notes 4 notes

up
28
Yzmir Ramirez
11 months ago
If you curious of the numeric values of the constants, as of JSON 1.2.1, the constants have the following values (not that you should use the numbers directly):

JSON_HEX_TAG => 1
JSON_HEX_AMP => 2
JSON_HEX_APOS => 4
JSON_HEX_QUOT => 8
JSON_FORCE_OBJECT => 16
JSON_NUMERIC_CHECK => 32
JSON_UNESCAPED_SLASHES => 64
JSON_PRETTY_PRINT => 128
JSON_UNESCAPED_UNICODE => 256

JSON_ERROR_DEPTH => 1
JSON_ERROR_STATE_MISMATCH => 2
JSON_ERROR_CTRL_CHAR => 3

JSON_ERROR_SYNTAX => 4

JSON_ERROR_UTF8 => 5
JSON_OBJECT_AS_ARRAY => 1

JSON_BIGINT_AS_STRING => 2
up
4
on5wis at mac dot com
4 months ago
since json_encode expects a UTF-8 string there is no need to encode the € symbol.

I suggest you try to echo : json_encode('€');
It gives: "\u20ac"
I'm running PHP 5.6.5 on the CLI, on MacOS X 10.10
up
-8
Anonymous
2 months ago
I am working with "Marathi Language Data" and I found that when I encoded Marathi data to json using json_encode it returned me unicode values of each character like below:

Program :

<?php
$ar
= array("word" => "धाडस");
echo
json_encode($ar);
?>

Output of program is :

{"word":"\u0927\u093e\u0921\u0938"}

This is not expected output because what I need is output as

{"word":"धाडस"}

So I used following code:

<?php
$ar
= array("word" => "धाडस");
echo
json_encode($ar, JSON_UNESCAPED_UNICODE);
?>

And I got the required output as :

{"word":"धाडस"}
up
-15
jgarviahonrado at yahoo dot es
4 months ago
When decoding the euro symbol (€) as below:

json_encode(utf8_encode('€')

json_encode provides the UTF-8 code \u0080, but it would be really interesting to get the \u20AC one.

Maybe a new option could be added to get the current code or the \u20AC one.
To Top