【发布时间】:2021-11-04 00:22:32
【问题描述】:
我有一个 Rails API,它将一些数据显示为 JSON。当用户输入明文时,响应看起来不错。但是当我在输入中添加 html 标签或特殊字符(如“”)时,它会将它们转换为 unicode 字符。无论用户添加什么,我都想将整个内容呈现为字符串。我尝试过使用to_s,但仍然无法将这些位转换为字符串。
result.each do |row|
i = row["i"].to_s
j = row["j"].to_s
obj[i][j] = {}
obj[i][j]["name"] = row["name"].to_s
end
Given: <p>name</p>
Output :\u003cp\u003ename\u003c/p\u003e
Expected output: <p>name</p>
【问题讨论】:
-
不确定为什么它返回 Unicode 字符。您是否尝试过强制编码为 UTF-8 ?另外,我正在考虑使用
raw(<String>)或<String>.html_safe -
@Sumak 是的,实际上显示了相同的结果。不将其解析为 html 标签
-
我不明白您认为您将如何以 JSON 格式传输
"而不会因为它是保留字符而对其进行转义?这闻起来像 X&Y 问题。
标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-5