shell处理json字符串
Posted gj4990
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell处理json字符串相关的知识,希望对你有一定的参考价值。
对于shell一般字符串的解析可以使用grep/sed/cut/awk等命令,对于json字符串的解析一般使用jq命令,但是有时需要在shell中构建json字符串,对于这种情况下使用python处理非常方便,下面便在shell中调用python构建json字符串。
#!/bin/bash
str='
"orig":
"a1": "1",
"a2": "2",
"a3": "3"
,
"add":
"b1": "1",
"b2": "2"
'
py_code="
import sys, json
input = sys.stdin.read()
str = input.replace(' ', '')
dict = json.loads(str)
dict_orig = dict.get('orig', )
dict_add = dict.get('add', )
dict_orig.update(dict_add)
print(json.dumps(dict_orig))
"
main()
value=$(echo $str|python -c "$py_code")
echo "Get value: $value"
main
运行结果:
[root@master ~]# sh json_string_covert.sh
Get value: "a1": "1", "a2": "2", "a3": "3", "b1": "1", "b2": "2"
以上是关于shell处理json字符串的主要内容,如果未能解决你的问题,请参考以下文章