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字符串的主要内容,如果未能解决你的问题,请参考以下文章

shell处理json字符串

网站动态 | Bash Shell 处理 JSON 数据

shell 解析json字符串

shell 解析json字符串

shell 解析json字符串

shell 解析json字符串