将 JSON 数据漂亮地打印到 HTML 中以进行缩进和着色
源代码是用函数式 TypeScript 编写的, pretty-print-json.min.js (缩小后)为 2.1 KB。
用于格式化 JSON 的交互式在线工具:
https://pretty-print-json.js.org
从 jsdelivr.com CDN 加载:
<link rel=stylesheet href=https://cdn.jsdelivr.net/npm/[email protected]/dist/css/pretty-print-json.css>...<script src=https:// cdn.jsdelivr.net/npm/[email protected]/dist/pretty-print-json.min.js></script>
缩小后的 JS 文件大小为 2 KB。
对于深色模式,请将<link>
标记中的pretty-print-json.css
替换为pretty-print-json.dark-mode.css
。
或者,要根据prefers-color-scheme
CSS 媒体功能自动感知深色模式,请改用pretty-print-json.prefers.css
。
为节点安装包:
$ npm 安装 Pretty-print-json
导入到您的应用程序中:
从'pretty-print-json'导入{prettyPrintJson};
const html = PrettyPrintJson.toHtml(数据,选项?);
<pre id=account class=json-container></pre>
将数据传递到prettyPrintJson.toHtml(data, options)
并显示结果。
常量数据 = { 主动:真实, 模式: '?', 代码:[48348、28923、39080]、 城市:“伦敦”, };const elem = document.getElementById('account');elem.innerHTML = PrettyPrintJson.toHtml(data);
名称(键) | 类型 | 默认 | 描述 |
---|---|---|---|
indent | 整数 | 3 | 缩进的空格数。 |
lineNumbers | 布尔值 | false | 将 HTML 包裹在<ol> 标记中以支持行号。 * |
linkUrls | 布尔值 | true | 为 URL 创建锚标记。 |
linksNewTab | 布尔值 | true | 将target=_blank 属性设置添加到锚标记。 |
quoteKeys | 布尔值 | false | 始终用双引号键名称。 |
trailingCommas | 布尔值 | true | 在数组和对象中的最后一项后添加逗号。 |
*当将lineNumbers
设置为true
时,不要使用<pre>
标签作为white-space: pre;
样式应用于每行 ( <li>
)。
请参阅 Pretty-print-json.ts 文件顶部的 TypeScript 声明。
使用options
参数自定义函数prettyPrintJson.toHtml(data: unknown, options?: FormatOptions)
的输出。
options
参数是一个FormatOptions
对象:
类型格式选项 = { indent?: number, //缩进的空格数 lineNumbers?: boolean, //将 HTML 包裹在 <ol> 标记中以支持行号 linkUrls?: boolean, //为 URL 创建锚标记 linksNewTab?: boolean, //为锚标签添加 target=_blank 属性设置 quoteKeys?: boolean, //始终双引号键名称 TrailingCommas?: boolean, //在数组和对象的最后一项后面添加一个逗号 };
显式类型的 TypeScript 用法示例:
从 'pretty-print-json' 导入 { PrettyPrintJson, FormatOptions };const data = { 主动:真实, 模式: '?', 代码:[48348、28923、39080]、 城市:“伦敦”, };const options: FormatOptions = { linkUrls: true };const html: string = PrettyPrintJson.toHtml(data, options);
查看 package.json 中的runScriptsConfig
部分,了解组织构建任务的有趣方法。
package.json 的 CLI 构建工具
? add-dist-header:在分发文件前添加一行横幅注释(带有许可证通知)
? copy-file-util:使用可选的包版本号复制或重命名文件
copy-folder-util:将文件从一个文件夹递归复制到另一个文件夹
? recursive-exec:对文件夹及其子文件夹中的每个文件运行命令
? Replacer-util:查找并替换文本文件中的字符串或模板输出
? rev-web-assets:使用缓存清除内容哈希指纹修订 Web 资产文件名
? run-scripts-util:将 npm package.json 脚本组织成易于管理的命令组
? w3c-html-validator:使用 W3C 验证器检查 HTML 文件的标记有效性
要查看一些示例 HTML 结果,请运行npm install
、 npm test
,然后运行node spec/examples.js
。
请随时通过以下方式提交问题:
github.com/center-key/pretty-print-json/issues
麻省理工学院许可证|博客文章