我用jq解析了一个json文件:
jq .response[1].text file.json
它工作正常,但每次我都必须输入数字。response[2].text、.response[3].text等。我想一次获得所有值(200个值)
但当我这样做:
jq .response[].text file.json
它给出错误:无法使用字符串“text”对数字进行索引
文件如下所示:
{
"response": [
1000,
{
"id": ,
"date": ,
"owner_id": ,
"from_id": ,
"post_type": "post",
"text": "blabla",
"attachment": {
"type": "photo",
"photo": {
"pid": ,
"aid": -7,
"owner_id":
}
},
"attachments": [
{
"type": "photo",
"photo": {
}
},
{
"type": "link",
"link": {
"url": "",
"title": "",
"description": "",
"target": "external"
}
}
],
"post_source": {
"type": "vk"
},
"comments": {
"count": 0,
"groups_can_post": true,
"can_post": 1
},
},
{
"id": ,
"date": ,
"owner_id": ,
"from_id": ,
"post_type": "post",
"text": "blabla",
"attachment": {
"type": "link",
"link": {
"url": "",
"title": "",
"description": "",
"target": "external",
"
}
1条答案
按热度按时间eh57zj3b1#
显然数组中的一个元素是字符串。如果你的jq支持“?",那么一种可能性是使用它:
另一种方法是显式检查类型,例如:
还有一种可能:
如果要在没有“文本”字段时使用占位符值:
因此,这实际上取决于您的需求,也许还取决于您使用的jq版本。