从命令行运行 Go 嵌套 JSON

我可以想到如何解决这个问题,但是我很想知道是否有解决这个特定问题的方法。

我有一个需要 json 字符串论证的 go 程序:

go run main.go "{ \"field\" : \"value\" }"

到目前为止没有问题。但是,如果 json 值之一是另一个 json 字符串,我是否能够从命令行运行?

go run main.go "{ \"json-string\" : \"{\"nestedfield\" : \"nestedvalue\"}\" }"

添加转义字符似乎不正确地匹配了开始和结束引号。我是否不明白这是如何完成的,还是(这是我要反对的一面)根本不可能?

重申一下,这个问题激起了我的好奇心——我知道其他方法——我希望能得到与这个特定问题相关的意见。


回首忆惘然
浏览 157回答 2
2回答

狐的传说

你为什么不把你的 json 配置放到文件中,并使用标志包为你的应用程序提供配置文件名

MMMHUHU

根据wiredeye的反馈,我转而选择了争论路线。我修改了程序以运行:go run main.go field:value field2:value json-string:"{\"nestedfield\":nestedvalue}"然后我可以遍历 os.Args 并在我的程序中获取嵌套的 json。我没有直接使用标志,因为我不知道程序的输入量,这需要我使用重复标志(不支持)或将标志解析为集合(似乎不支持)。感谢有线眼
打开App,查看更多内容
随时随地看视频慕课网APP