Cómo devolver caracteres normales desde JSON JavaScript

2 minutos de lectura

Obtengo un json de mi publicación con un título como este:

"title":{"rendered":"Web Designer & All things you should to know."}

Utilizo like this para obtener el título de la publicación.

post.title.rendered

pero vuelve & en vez de &

¿Cómo puedo obtener solo una cadena normal?

  • agregue un ejemplo reproducible mínimo a su pregunta. sin saber cómo usa el JSON (para su HTML), es difícil dar una respuesta definitiva

    – borroso

    17 de diciembre de 2018 a las 4:43

  • @ochi es bastante detalle. Puedes ver JSON contiene & en vez de &. Así que necesito procesar para devolver solo &

    -Hai Tien

    17 de diciembre de 2018 a las 4:45

  • Si está utilizando PHP, este enlace puede ser útil.

    – 31 años

    17 de diciembre de 2018 a las 4:48

  • @ 31piy Soy desarrollador de aplicaciones a través de API, así que necesito usar Javascript

    -Hai Tien

    17 de diciembre de 2018 a las 5:17

Avatar de usuario de Mark
Marca

los DomParser está bastante bien soportado en estos días. Parece una exageración, pero podrías analizarlo:

let post = {
  "title": {
    "rendered": "Web Designer & All things you should to know."
  }
}

let doc = new DOMParser().parseFromString(post.title.rendered, "text/html");
console.log(doc.body.textContent)

No queda claro a partir de su pregunta por qué necesita hacer esto (aunque no estoy muy familiarizado con WordPress). Si va a utilizar este texto dentro del contenido web, debería funcionar como está. Por ejemplo:

 let post = {
      "title": {
        "rendered": "Web Designer & All things you should to know."
      }
    }
   
 document.getElementById("test").innerHTML = post.title.rendered
<div id="test"></div>

Este JavaScript analiza entidades HTML:

let div = document.createElement('div');
div.innerHTML = post.title.rendered;
let text = div.textContent;

Si lo necesita en WordPress PHP, la sugerencia de 31py de html_entity_decode es el camino a seguir.

¿Ha sido útil esta solución?