【发布时间】:2017-05-27 02:47:18
【问题描述】:
我有以下 json 格式需要转换为 CSV
[{
"name": "joe",
"age": 21,
"skills": [{
"lang": "spanish",
"grade": "47",
"school": {
"name": "my school",
"url": "example.com/sp-school"
}
}, {
"lang": "english",
"grade": "87"
}]
},
{
"name": "sarah",
"age": 34,
"skills": [{
"lang": "french",
"grade": "47",
"school": {
"name": "my school",
"url": "example.com/sp-school"
}
}, {
"lang": "english",
"grade": "87"
}]
}, {
"name": "jim",
"age": 26,
"skills": [{
"lang": "spanish",
"grade": "60"
}, {
"lang": "english",
"grade": "66",
"school": {
"name": "eg school",
"url": "eg-school.com"
}
}]
}
]
转换为 csv
name,age,grade,school,url,file,line_number
joe,21,47,"my school","example.com/sp-school",sample.json,1
jim,26,60,"","",sample.json,3
如果 lang=spanish 则添加顶级字段和技能数组中的对象,如果存在西班牙语则添加技能对象中的学校哈希
我还想添加它来自的文件和行号。
我想使用 jq 来完成这项工作,但不知道语法,有人帮帮我吗?
【问题讨论】: