Stringify object to json that can use in script tags.
npm
npm install stringify-json-script-content
import fs from "node:fs";
import stringifyJsonScriptContent from "stringify-json-script-content";
const jsonScriptContent = stringifyJsonScriptContent({
hello: "world<script>!</script>",
});
const html = `
<!DOCTYPE html>
<script id="json-data" type="application/json">
${jsonScriptContent}
</script>
<script>
console.log(JSON.parse(document.getElementById("json-data").textContent));
</script>
`;
fs.writeFileSync("test.html", html);
The parameters of stringifyJsonScriptContent()
is same as JSON.stringify() and it returns like JSON.stringify() and can use in script tags.
The encodeJsonScriptContent()
encode chars that shouldn't use in script tags.
import { encodeJsonScriptContent } from "stringify-json-script-content";
const jsonString = JSON.stringify({ hello: "world<script>!</script>" });
const encodeJsonString = encodeJsonScriptContent(jsonString);
console.log(encodeJsonString);
- Fix packed files.
- Added features stringify object to json that can use in script tags.