WORDS
Escape-tecken: JSON
JSON är ett enkelt dataformat. Strängar i JSON representerar Unicode-kodpunkter (precis som i språk som JavaScript, C# och Java). Dom flesta tecken går att inkludera innanför citattecknen, men dessa måste escapas: citattecken, bakvänt snedstreck och styrtecknena från U+0000 till U+001F.
Exempelvis kan man escapa ett bakvänt snedstreck som \\
och en radbrytning som \n
.
{
"file": "C:\\file.txt",
"message": "Filen har sparats\nStorlek: 4 kB"
}
I Javascript
JSON är smidigt, för syntaxen fungerar som ett Javascript-objekt. Nästan.
I Javascript kan en sträng inte innehålla Unicode-kodpunkterna U+2028 LINE SEPARATOR eller U+2029 PARAGRAPH SEPARATOR, om dom inte escapas, men det får dom göra i JSON. Detta ändras i ett förslag som nog kommer med i nästa version av Javascript.
När Javascript används i HTML finns ytterligare en begränsning: en sträng får inte innehålla teckensekvensen </script>
, för det tolkas som att skriptet avslutas. Detta får man i en JSON-sträng koda om, t.ex. så att /
ersätts med \/
.
{
"tag": "<\/script>"
}