Написать HTML-строку в формате JSON

Можно ли написать строку HTML внутри JSON?

Который я хочу написать, как показано ниже в моем файле 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>"
    }
]

Ответ 1

Вам следует избегать символов, таких как двойные кавычки в строке html, добавив "\"

например: <h2 class=\"fg-white\">

Ответ 2

Вы можете, как только вы выйдете из HTML правильно. Эта страница показывает, что нужно сделать.

Если вы используете PHP, вы можете использовать json_encode()

Надеюсь, что это поможет:)

Ответ 3

Просто закодируйте html с помощью алгоритма Base64, прежде чем добавлять html в JSON и декодировать html с помощью Base64 при чтении.

byte[] utf8 = htmlMessage.getBytes("UTF8");
htmlMessage= new String(new Base64().encode(utf8));


byte[] dec = new Base64().decode(htmlMessage.getBytes());
htmlMessage = new String(dec , "UTF8");

Ответ 4

В JSON можно написать строку HTML. Вам просто нужно избегать двойных кавычек.

[
    {
        "id": "services.html",
        "img": "img/SolutionInnerbananer.jpg",
        "html": "<h2class=\"fg-white\">AboutUs</h2><pclass=\"fg-white\">CSMTechnologiesisapioneerinprovidingconsulting,
        developingandsupportingcomplexITsolutions.Touchingmillionsoflivesworldwidebybringingininnovativetechnology,
        CSMforayedintotheuntappedmarketslikee-GovernanceinIndiaandAfricancontinent.</p>"
    }
]

Ответ 5

Один из способов - заменить двойные кавычки в HTML одиночными кавычками, но использование двойных кавычек стало стандартным соглашением для значений атрибутов в HTML.

Лучший вариант - избежать двойных кавычек в json и других символов, которые нужно экранировать.

Вы можете получить более подробную информацию об экранировании здесь: Где я могу найти список escape-символов, необходимых для моего возвращаемого типа JSON ajax?

Ответ 6

Вы также должны избегать косой черты, вот правильный 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>"
}]

Ответ 7

Самый простой способ - поместить HTML внутри одинарных кавычек. И модифицированный объект json выглядит следующим образом:

[
    {
        "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.

И наилучшим способом является esacape двойные кавычки и другие символы, которые должны быть экранированы. Измененный объект json выглядит следующим образом:

[
    {
        "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.

Ответ 8

Вы можете сделать идентификатор параметром для селектора запросов. Для PHP и совместимых языков используется ассоциативный массив (фактически объекты), а затем 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);  

Но HTML не делает это для вас без каких-либо JS.

{"#id":{"href":"services.html"},"img":{"src":"img\/SolutionInnerbananer.jpg"}
 ,".html":"<h2 class=\"fg-white\">AboutUs<\/h2><p class=\"fg-white\">...<\/p>"}

Ответ 9

4 вещи, которые вы должны сделать, помещая HTML в JSON:

1) Избегайте кавычек, используемых вокруг атрибутов HTML, например <img src=\"someimage.png\"/>

2) Избегайте косой черты в конечных тегах HTML. <div>Hello World!<\/div>. Это древний артефакт старой спецификации HTML, который не хотел, чтобы синтаксические анализаторы HTML запутывались при помещении строк в <SCRIPT>. По некоторым причинам сегодняшним браузерам все еще нравится это.

3) Этот был совершенно странным. Вы должны включить пробел между именем тега и косой чертой на самозакрывающихся тегах. Я понятия не имею, почему это так, но в большинстве современных браузеров, если вы попытаетесь использовать javascript для добавления <li> в качестве дочернего элемента неупорядоченного списка, который отформатирован так: <ul/>, он не будет работать. Он добавляется в DOM после тега ul. Но если код выглядит следующим образом: <ul/> (обратите внимание на пробел перед /), все работает нормально. Очень странно.

4) Обязательно закодируйте любые кавычки, которые могут быть включены в (плохой) контент HTML. Это единственная вещь, которая действительно сломает JSON, случайно завершив строку рано. Любые " символы должны быть закодированы как &quot; если предполагается, что они включены в контент HTML.

с помощью

Ответ 10

в json все это строка между двойными кавычками ", так что вам нужно бежать", если это происходит в значении (только в прямой записи), используйте обратную косую черту

и все в файле json, завернутом в {}, измените ваш json на

{
  [
    {
      "id": "services.html",
      "img": "img/SolutionInnerbananer.jpg",
      "html": "<h2 class=\"fg-white\">AboutUs</h2><p class=\"fg-white\">developing and supporting complex IT solutions.Touching millions of lives world wide by bringing in innovative technology</p>"
    }
  ]
}

Ответ 11

Допустим, я пытаюсь визуализировать приведенный ниже HTML.

let myHTML = "<p>Go to this <a href='https://google.com'>website </b></p>";

JSON.parse(JSON.stringify(myHTML)) Это даст вам HTML-элемент, который вы можете установить с помощью innerHTML.

Нравится document.getElementById("demo").innerHTML = JSON.parse(JSON.stringify(myHTML));

Люди хранят свой HTML как объект здесь. Однако метод, который я предложил, делает то же самое без использования объекта.