【问题标题】:how to escape curly braces in Json?如何在 Json 中转义花括号?
【发布时间】:2016-11-16 13:48:45
【问题描述】:

我的代码如下所示:

"Control Statements": [
            {
                "key": " {% for foo in foo1 %} ... {% endfor %}",
                "val": "For loop"
            },
            {
                "key": "{% foo %} ... {% endif %}",
                "val": "If statement"
            }
         ]

我想在“关键部分”中转义大括号

【问题讨论】:

  • 你能澄清一下这个问题吗?这些是在模板中呈现的吗?到目前为止,您尝试过什么?
  • 是的,它将被渲染.. 我得到了答案。在“{”和“}”之前使用 \\ 效果很好。 "key": " \\{% foo %\\}...\\{% endif %//}
  • @AYUSHKUMAR 您能否编辑您的问题以澄清这一点,而不是通过评论?你说的答案没有出现在这里。那么您能否也添加一个答案并将其标记为解决方案? Stack Overflow 不仅仅是一个让您解决问题并继续前进的网站。这是一个大家互相帮助学习的社区。​​span>

标签: json jinja2


【解决方案1】:

在“{”和“}”之前使用 \\。

例如:

"key": " \\{% foo %\\}...\\{% endif %//}

【讨论】:

    【解决方案2】:

    您可以通过添加额外的 {{ }} 来转义 json 大括号 { }。 我假设您可以使用一些在线实用程序来帮助您轻松转义 json 字符。

    【讨论】:

    • 什么意思?如果我的模板看起来像{{ foo }},并且我希望输出是字面意义上的{{ foo }},我是否应该使用{{ { }}{{ { }} foo {{ } }}{{ } }}
    【解决方案3】:

    对任何你想要的字符使用“\uXXXX”表示法,而不是 XXXX,你需要输入字符的十六进制 unicode 代码。

    的代码为 0x7b,而 的代码为 0x7d。 所以“\u007b”和“\u007d”

    【讨论】:

    • 这对我不起作用。输出仍然是\u00xx,而不是{}。 Jinja 没有将这些字符转换成花括号。
    猜你喜欢
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 2012-04-01
    • 2015-11-23
    • 2021-11-20
    相关资源
    最近更新 更多