Linux之jq命令的使用

json文件

对象是属性、值的集合。一个对象开始与”{” ,结束于”}”。每一个属性名和值间用”:”分隔。每个属性间用”,”分隔。
值可以是字符串,数字,逻辑值,数组,对象,null。 数字:整数或浮点数 字符串:在双引号中 逻辑符:true和false
数组:在方括号中 对象:在花括号中 null: 代表空

例如:

{
      "name":"aaa",
      "age":"12",
      "hobby":"basketball"   //最后一个键值对后面没有逗号
}

开始使用 jq

‘-r’选项。该选项控制 jq 是输出 raw 格式内容或 JSON 格式内容。所谓的 JSON 格式是指符合 JSON 标准的格式。例如,假设我们要查询 JSON 字符串{“name”:“tom”}中 name 的值. 使用-r 选项时返回的是’tom’. 不使用-r 选项时,返回的是’“tom”’.返回值多了一对双引号。
–arg 选项。jq 通过该选项提供了和宿主脚本语言交互的能力。该选项将值(v)绑定到一个变量(a)上。在后面的 filter 中可以直接通过变量引用这个值。例如,filter '.$a’表示查询属性名称等于变量 a 的值的属性。

例如:

jq --arg name okok '{uesr_name:$name}'
//uesr_name代表键,$name代表name这个变量即前面的okok,这个变量可以是交互型的

写json文件的简单方式

jq -n --arg name wang '{Name:$name}'   //表示把wang这个串赋给name这个变量,json的键为Name,值为name这个变量,即wang

如果一个json文件中内容如下

{
    Name:"wang",
    Age:"18",
    Hobby:"dancing"
}

jq .Name 文件名
"Wang"

你可能感兴趣的:(Linux)