Wie Darstellung und Inhalt trennen?
bearbeitet von Raketenwilli> Man kann Daten JSON-gerecht maskieren/codieren. Dazu gehören insbesondere die Zeichen " und /, welche mit einem Backslash maskiert werden müssen, da sie ansonsten als Sonderzeichen mit bestimmter Bedeutung interpretiert werden.
Man muss das aber nur dann tun, wenn man den JSON-Text selbst erstellen will.
Die JSON-Encoder der Programmiersprachen machen das gerne automatisch.
PHP:
~~~PHP
<?php
header( 'Content-Type: text/json; charset=utf-8' );
$var = '<span style="letter-spacing: .1em">B</span>aum';
echo json_encode( $var ) . PHP_EOL;
~~~
Ausgabe:
~~~JSON
"<span style=\"letter-spacing: .1em\">B<\/span>aum"
~~~
JS:
~~~JS
var str = '<span style="letter-spacing: .1em">B</span>aum';
console.log( JSON.stringify( str ) );
~~~
Ausgabe:
~~~JSON
"<span style=\"letter-spacing: .1em\">B<\/span>aum"
~~~
Beide Sprachen können das HTML nach einem JSON-Decode auch in den Output - oder (mit geeigneten Methoden) ins DOM (Dokument) einbauen. Darüber hinaus ist auch der Inhalt egal: Das können Strings, Zahlen, Arrays, Objekte, sogar binäres Zeug sein, es müssen halt nur „Werte“ sein, welche die jeweilige Anwendung in eine Variable aufnehmen kann.
Wie Darstellung und Inhalt trennen?
bearbeitet von Raketenwilli> Man kann Daten JSON-gerecht maskieren/codieren. Dazu gehören insbesondere die Zeichen " und /, welche mit einem Backslash maskiert werden müssen, da sie ansonsten als Sonderzeichen mit bestimmter Bedeutung interpretiert werden.
Man muss das aber nur dann tun, wenn man den JSON-Text selbst erstellen will.
Die JSON-Encoder der Programmiersprachen machen das gerne automatisch.
PHP:
~~~PHP
<?php
header( 'Content-Type: text/json; charset=utf-8' );
$var = '<span style="letter-spacing: .1em">B</span>aum';
echo json_encode( $var ) . PHP_EOL;
~~~
Ausgabe:
~~~JSON
"<span style=\"letter-spacing: .1em\">B<\/span>aum"
~~~
JS:
~~~JS
var str = '<span style="letter-spacing: .1em">B</span>aum';
console.log(JSON.stringify( str ) );
~~~
Ausgabe:
~~~JSON
"<span style=\"letter-spacing: .1em\">B<\/span>aum"
~~~
Beide Sprachen können das auch einbauen.
Wie Darstellung und Inhalt trennen?
bearbeitet von Raketenwilli> Man kann Daten JSON-gerecht maskieren/codieren. Dazu gehören insbesondere die Zeichen " und /, welche mit einem Backslash maskiert werden müssen, da sie ansonsten als Sonderzeichen mit bestimmter Bedeutung interpretiert werden.
Man muss das aber nur dann tun, wenn man den JSON-Text selbst erstellen will.
Die JSON-Encoder der Programmiersprachen machen das gerne automatisch.
PHP:
~~~
<?php
header( 'Content-Type: text/json; charset=utf-8' );
$var = '<span style="letter-spacing: .1em">B</span>aum';
echo json_encode( $var ) . PHP_EOL;
~~~
Ausgabe:
~~~JSON
"<span style=\"letter-spacing: .1em\">B<\/span>aum"
~~~
JS:
~~~JS
var str = '<span style="letter-spacing: .1em">B</span>aum';
console.log(JSON.stringify( str ) );
~~~
Ausgabe:
~~~JSON
"<span style=\"letter-spacing: .1em\">B<\/span>aum"
~~~
Beide Sprachen können das auch einbauen.