linux,windows命令行中含有Json字符串如何转义

下面的三个示例命令行中,--params的参数是json。不同的系统的命令行环境,对json的处理不同。具体示例如下:

  • Linux
.\cmc client contract user invoke --contract-name=testTBFT --method=save --sdk-conf-path=.\sdk_config.yml --params="{\"faile_name\":\"name007\",\"file_hash\":\"ab3456df5799b87c77e7f88\",\"time\":\"6543234\"}" --sync-result=true

整个json体最外侧用双引号包起来,json中的key和value的双引号前面加 \
 

  • Windows dos
.\cmc.exe client contract user invoke --contract-name=testTBFT --method=save --sdk-conf-path=.\sdk_config.yml --params="{"""file_name""":"""name007""","""file_hash""":"""ab3456df5799b87c77e7f88""","""time""":"""6543234"""}" --sync-result=true

windows dos下,json中key和value的双引号需要变成 """ 进行转义

  • Windows powershell
.\cmc client contract user invoke --contract-name=testTBFT --method=save --sdk-conf-path=.\sdk_config1.yml --params='{\"faile_name\":\"name007\",\"file_hash\":\"ab3456df5799b87c77e7f88\",\"time\":\"6543234\"}' --sync-result=true

最特殊的是Windows Powershell,他的json体参数最外层必须用单引号包裹,json体中的key和value的双引号前面加\ 

如果不这么做,会报如下错误:

Error: invalid character '\\' looking for beginning of object key string

解决方法参照:https://www.it1352.com/1534847.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值