我正在努力弄清楚如何在ruby中编写json文件而不使用转义反斜杠,我需要生成以下json内容,以便与apple的xctestplan格式相匹配:
{
"key": "ClassName\/testSuperImportant()"
}
我有以下(简化的)ruby代码,它会导致双转义反斜杠:
require 'json'
testname = "ClassName.testSuperImportant"
testplan = {
:key => testname.sub('.', "\\/") + "()"
}
puts JSON.pretty_generate(testplan)
输出
{
"key": "ClassName\\/testSuperImportant()"
}
这些有什么变化吗 "\/"
, '\/'
只需生成一条如下所示的斜线: "ClassName/testSuperImportant()"
我没有太多的ruby经验,所以我相信一定有一个聪明或简单的方法来实现它。它不必在json字符串中完成,可以在以后修改字符串,但到目前为止 puts
及 print
保留我不想要的双重或非转义结果。
任何帮助都将不胜感激,谢谢。
1条答案
按热度按时间hgb9j2n61#
出于某种奇怪的原因,json允许转义斜杠,即使它不是保留字符。但实际上没有必要逃避它,因为正如我所写的,它不是一个保留字符。
所以,你可以这样做
它实际上与您的文档是同一个文档,只是具有不同的表示形式。