JavaScript Object Notation: Porovnání verzí

Smazaný obsah Přidaný obsah
m +Kategorie:Formáty serializace dat
m Robot: -zastaralá značka HTML
Řádek 32:
== Příklady ==
Otestování schopností JSON (v PHP):
<sourcesyntaxhighlight lang="PHP">
$a=array(1, -2, 3.333, 4e17, "abc", "á\n", null, array(2.1, 2.2, array("2.2.1")), false, true, "", "key"=>"value", 'abc"def'=>array());
echo json_encode($a, JSON_PRETTY_PRINT);
</syntaxhighlight>
</source>
 
Kód vypíše:
<sourcesyntaxhighlight lang="javascript">
{
"0": 1,
Řádek 60:
"abc\"def": []
}
</syntaxhighlight>
</source>
 
Příklady chybně zformátovaných dat:
{|
|-
|<sourcesyntaxhighlight lang="javascript">{klíč: "hodnota"}</sourcesyntaxhighlight> || klíče musejí být v uvozovkách
|-
| <sourcesyntaxhighlight lang="javascript">{'klíč':'hodnota'}</sourcesyntaxhighlight> || řetězce musejí být pouze ve dvojitých uvozovkách
|-
| <sourcesyntaxhighlight lang="javascript">{"size": .1}</sourcesyntaxhighlight> || čísla musejí začínat číslicí
|-
| <sourcesyntaxhighlight lang="javascript">{"moje \"velké\" džíny":"Levi\'s"}</sourcesyntaxhighlight> || zatímco dvojité uvozovky se uvnitř řetězce [[escapování|eskapují]], jednoduché (apostrofy) nikoliv
|-
| <sourcesyntaxhighlight lang="javascript">[
1,
2,
3,
]</sourcesyntaxhighlight>|| poslední čárka není dovolena
|-
| <sourcesyntaxhighlight lang="javascript">{
"text": "Line 1
Line 2
Line 3"
}</sourcesyntaxhighlight> || vkládání textové hodnoty s konci řádků se musí uvést v jednom řádku a samotné odřádkování escapovat, tj. použít <tt>\n</tt> a/nebo <tt>\r</tt>
|-
| <sourcesyntaxhighlight lang="javascript">{"name": "\u96"}</sourcesyntaxhighlight> || znaky zakódované do [[Unicode]] jsou vždy čtyřmístné, zleva doplněné nulami
|-
| <sourcesyntaxhighlight lang="javascript">{"allow": TRUE}</sourcesyntaxhighlight> || konstanty '''true''', '''false''' a '''null''' se uvádějí pouze malými písmeny
|-
|<sourcesyntaxhighlight lang="javascript">{
Number.POSITIVE_INFINITY,
Number.NEGATIVE_INFINITY,
NaN,
}</sourcesyntaxhighlight> || speciální hodnoty pro [[nekonečno]] a [[NaN]] nejsou povoleny
|}