Giả sử tôi có JSON sau, được lưu trữ trong biến của tôi jsonVariable.jq - Làm cách nào để in giá trị gốc của đối tượng khi tôi đã thâm nhập sâu vào con của đối tượng?
{
"id": 1,
"details": {
"username": "jamesbrown",
"name": "James Brown",
}
}
tôi phân tích JSON này với JQ sử dụng như sau:
echo $jsonVariable | jq '.details.name | select(.name == "James Brown")'
này sẽ cho tôi kết quả
James Brown
Nhưng nếu tôi muốn nhận được id của người này là tốt? Bây giờ, tôi biết đây là một ví dụ đơn giản và thô lỗ - chương trình mà tôi đang làm việc với thời điểm này là 5 hoặc 6 cấp độ sâu với nhiều hàm JQ khác nhau hơn là chọn. Tôi cần một cách để chọn trường của cha mẹ khi tôi đã có 5 hoặc 6 lớp sâu sau khi thực hiện các phương pháp lọc khác nhau.
Có ai giúp được không? Có cách nào để 'đảo ngược', sao lưu cho phụ huynh không? (Không chắc chắn nếu tôi làm cho ý nghĩa!)
có vẻ như bạn muốn '.id | chọn (.name == "James Brown") 'Bạn đã thử điều đó chưa? – mrtig
Ah xin lỗi, không giải thích chính xác. Tôi muốn có cả hai – Xenidious