Est-il possible d'écrire une chaîne HTML dans JSON?
Ce que je veux écrire comme ci-dessous dans mon fichier json
[
{
"id": "services.html",
"img": "img/SolutionInnerbananer.jpg",
"html": "<h2class="fg-white">AboutUs</h2><pclass="fg-white">developing and supporting complex IT solutions.Touchingmillions of lives world wide by bringing in innovative technology </p>"
}
]
Vous devriez échapper aux caractères tels que les guillemets doubles dans la chaîne html en ajoutant "\"
par exemple: <h2 class=\"fg-white\">
Vous pouvez, une fois que vous avez échappé correctement le code HTML . Cette page montre ce qui doit être fait.
Si vous utilisez PHP, vous pouvez utiliser json_encode ()
J'espère que cela t'aides :)
Il suffit de coder le code HTML à l'aide de l'algorithme Base64 avant d'ajouter le code HTML au JSON et de décoder le code HTML à l'aide de Base64 lorsque vous lisez.
byte[] utf8 = htmlMessage.getBytes("UTF8");
htmlMessage= new String(new Base64().encode(utf8));
byte[] dec = new Base64().decode(htmlMessage.getBytes());
htmlMessage = new String(dec , "UTF8");
Il est possible d'écrire une chaîne HTML en JSON. Vous avez juste besoin d'échapper à vos guillemets.
[
{
"id": "services.html",
"img": "img/SolutionInnerbananer.jpg",
"html": "<h2class=\"fg-white\">AboutUs</h2><pclass=\"fg-white\">CSMTechnologiesisapioneerinprovidingconsulting,
developingandsupportingcomplexITsolutions.Touchingmillionsoflivesworldwidebybringingininnovativetechnology,
CSMforayedintotheuntappedmarketslikee-GovernanceinIndiaandAfricancontinent.</p>"
}
]
Le moyen le plus simple consiste à insérer le code HTML à l'intérieur de guillemets simples. Et l'objet json modifié est le suivant:
[
{
"id": "services.html",
"img": "img/SolutionInnerbananer.jpg",
"html": '<h2 class="fg-white">AboutUs</h2><p class="fg-white">developing and supporting complex IT solutions.Touchingmillions of lives world wide by bringing in innovative technology </p>'
}
];
Fiddle .
Et le meilleur moyen consiste à éviter les guillemets et autres caractères à échapper. L'objet json modifié est le suivant:
[
{
"id": "services.html",
"img": "img/SolutionInnerbananer.jpg",
"html": "<h2 class=\"fg-white\">AboutUs</h2><p class=\"fg-white\">developing and supporting complex IT solutions.Touchingmillions of lives world wide by bringing in innovative technology </p>"
}
];
Fiddle .
Vous devriez également échapper à la barre oblique, voici le bon JSON:
[{
"id": "services.html",
"img": "img/SolutionInnerbananer.jpg",
"html": "<h2class=\"fg-white\">AboutUs<\/h2><pclass=\"fg-white\">developing and supporting complex IT solutions.Touchingmillions of lives world wide by bringing in innovative technology <\/p>"
}]
Une solution consiste à remplacer les guillemets dans le code HTML par des guillemets simples, mais l'utilisation de guillemets est devenue la convention standard pour les valeurs d'attributs en HTML.
La meilleure option consiste à échapper aux guillemets doubles dans json et aux autres caractères à échapper.
Vous pouvez obtenir plus de détails sur l'échappement ici: Où puis-je trouver une liste des caractères d'échappement requis pour mon type de retour JSON ajax?
Vous pouvez faire de l'identifiant un paramètre pour un sélecteur de requête. Pour PHP et les langages compatibles, utilisez un tableau associatif (en fait, un objet), puis json_encode.
$temp=array('#id' =>array('href'=>'services.html')
,'img' =>array('src'=>"img/SolutionInnerbananer.jpg")
,'.html'=>'<h2 class="fg-white">AboutUs</h2><p class="fg-white">...</p>'
);
echo json_encode($temp);
Mais HTML ne le fait pas pour vous sans JS.
{"#id":{"href":"services.html"},"img":{"src":"img\/SolutionInnerbananer.jpg"}
,".html":"<h2 class=\"fg-white\">AboutUs<\/h2><p class=\"fg-white\">...<\/p>"}