Estoy descartando una página y necesito obtener un json de una etiqueta de secuencia de comandos que se ve como la etiqueta de secuencia de comandos
<template data-type="json" data-varname="__STATE__"> <script> { "someJson": here } </script> </template>Obtuve el valor con algo como esto usando jquery en el navegador
$('template[data-varname="__STATE__"]').content.children[0]y obtuve el valor con algo así en mi código de nodo
const listItems = await $('template[data-varname="__STATE__"]'); await fs.promises.writeFile('site.html', listItems.html())pero mi regreso es solo un guion como este
<script> { "someJson": here } </script>dentro de un archivo html pero me gustaría obtener el json y ya poder usar
Tengo lo que quería de la siguiente manera
const listItems = await $('template[data-varname="__STATE__"]'); const scriptItem = await listItems.html() const removeScript = scriptItem.replace("<script>","").replace("</script>","") const jsonFromScript = JSON.parse(removeScript)Sin embargo, esta no es una solución que me guste, si alguien sabe una forma más "correcta" de hacerlo, se lo agradecería.