我可以考虑如何使其工作的解决方法,但我有兴趣了解是否有针对此特定问题的解决方案。
我有一个需要json字符串争论的go程序:
go run main.go "{ \"field\" : \"value\" }"
到目前为止没有问题。但是,如果其中一个json值是另一个json字符串,我是否可以从命令行运行?
go run main.go "{ \"json-string\" : \"{\"nestedfield\" : \"nestedvalue\"}\" }"
似乎添加转义字符错误地匹配开始和结束引号。我是不是很清楚这是怎么做的,或者是这样的(这是我正在酝酿的一面)根本不可能吗?
重申一下,这是一个引起我好奇心的问题 - 我知道其他方法 - 我希望得到与此特定问题相关的输入。
答案 0 :(得分:1)
为什么不直接将json配置文件放到文件中,并使用flag包
为您的应用程序提供配置文件名答案 1 :(得分:0)
根据来自wiredeye的反馈,我走了参数路线。我已修改程序以继续运行:
go run main.go field:value field2:value json-string:"{\"nestedfield\":nestedvalue}"
然后我可以迭代os.Args并在我的程序中获取嵌套的json。我没有直接使用标志,因为我不知道程序的输入数量,这需要我使用重复标志(不支持)或将标志解析为集合(不是似乎得到了支持)。
谢谢wiredeye