web-dev-qa-db-fra.com

Ecrire chaîne html en json

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>"
    }
]
12
Rasmikant

Vous devriez échapper aux caractères tels que les guillemets doubles dans la chaîne html en ajoutant "\"

par exemple: <h2 class=\"fg-white\">

24
Sahil Mittal

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 :)

6
flauntster

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");
5
Mahesh

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>"
    }
]
3
Ben

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 .

1
user2466202

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>"
}]
0
Lydia halls

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?

0

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>"}
0
B.F.