我使用 pug 编写 .json
文件(使用 gulp
、gulp-pug
和 gulp-xml2json
编译>).
它通常工作得很好,但我不知道如何让它处理 json-ld
structured data 所需的 asperands (@
) 。我尝试过各种类型的 interpolation我可以想到,包括作者针对类似问题建议的方法(参见github上的issue #2783),但没有任何运气。
是否有一个我忽略的简单解决方案?
这有效
// data.json.xml.pug
root
context https://json-ld.org/contexts/person.jsonld
编译为
// data.json
{
"context": "https://json-ld.org/contexts/person.jsonld"
}
这不是
// data.json.xml.pug
root
@context https://json-ld.org/contexts/person.jsonld
unexpected text "@cont"
这也不是
// data.json.xml.pug
root
#{'@context'} https://json-ld.org/contexts/person.jsonld
Error: Error: Unencoded <
...
Char: @
最佳答案
Answer来自@ForbesLindsay在 GitHub 上(谢谢!)—
#{'@context'}
产生
<@context></@context>
您遇到的问题是 xml2json
不会将其解释为有效的 xml(因为它不是),您需要找出是否有任何有效的 xml 字符串可以生成您的所需的 JSON,然后您就可以弄清楚如何在 pug 中生成该 XML。
关于gulp - 带有 at 符号/asperands (@) 的 Pug 标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50204893/