我的应用程序中有一个 .json 配置文件。在 Azure DevOps 中管理发布时使用变量选项卡,我可以替换该 .json 文件中的值。但是,我无法使用此方法将值显式设置为 null 而不是字符串“null”。有没有办法做到这一点?我需要生成的 json 看起来像
"setting": null
代替
"setting": "null"
答案 0 :(得分:0)
但是,在脚本中引用这个变量时,会被解析为空字符串而不是空值。
例如,我们有一个包含以下内容的 test.json。
"setting": "debug",
"environment": "dev"
}
如果我们使用包含以下内容的命令行任务。
echo Hello world
cat $(System.DefaultWorkingDirectory)/_tt/test.json
echo ""
echo "now replace: "
sed "s/\"debug\"/$testvar/g" $(System.DefaultWorkingDirectory)/_tt/test.json
如果你想设置为null,直接使用下面内容的null值即可。
sed 's/\"debug\"/null/g' $(System.DefaultWorkingDirectory)/_tt/test.json
使用sed 's/\"debug\"/null/g' $(System.DefaultWorkingDirectory)/_tt/test.json >$(System.DefaultWorkingDirectory)/_tt/new_test.json
会将输出写入 new_test.json 文件。
请参阅:How to Use sed to Find and Replace String in Files 了解详情。