【问题标题】:How to convert JSON escaped string into plain HTML-compatible string如何将 JSON 转义字符串转换为纯 HTML 兼容字符串
【发布时间】:2019-08-19 21:34:53
【问题描述】:

我正在使用 API 编译代码,当出现错误时,包含错误消息的响应使用 JSON 转义字符,但是当将其输出回 HTML 前端时,它只会产生垃圾字符。如何使用 Javascript 将转义字符串转换为纯文本字符串,或正确以 HTML 格式输出?

这是正确输出的字符串(在 Powershell 中):

https://i.imgur.com/tv0BZFl.jpg

这是转义字符串:

\u001b[01m\u001b[K:\u001b[m\u001b[K在函数'\u001b[01m\u001b[Kin...

如果我直接在 HTML 中输出,这就是字符串的样子:

[01m[K:[m[K 在函数'[01m[Kint main()[m[K': [01m[K:9:1:[m[K [01;31m[Kerror: [m[Kexpected '[01m[K;[m[K' before '[01m[K}[m[K' token } [01;32m[K ^[m[K

【问题讨论】:

    标签: javascript html json


    【解决方案1】:

    看起来您可以使用strip-ansi 包。这是一个使用转义字符串的示例:

    const stripAnsi = require('strip-ansi');
    
    stripAnsi("\u001b[01m\u001b[K:\u001b[m\u001b[K In function '\u001b[01m\u001b[Kin...")
    
    // result => ": In function 'in..."
    

    如果您没有使用 node.js,或者由于某种原因无法使用该包,this Stack Overflow answer 有一个您可以使用的正则表达式。

    【讨论】:

      【解决方案2】:

      刚刚也找到了这个工具:

      https://www.npmjs.com/package/ansi-to-html

      将 ANSI 转换为 html。

      【讨论】:

      • 噢噢噢,这也会保留颜色。不错的发现
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 2015-12-03
      相关资源
      最近更新 更多