Tôi đang cố gắng để có được jq
để phân tích cấu trúc JSON như:Sử dụng JQ để phân tích một JSON Chuỗi
{
"a" : 1,
"b" : 2,
"c" : "{\"id\":\"9ee ...\",\"parent\":\"abc...\"}\n"
}
Đó là, một phần tử trong JSON là một chuỗi với json trốn thoát.
Vì vậy, tôi có một cái gì đó dọc theo dòng của $ jq [.c] myFile.json | jq [.id]
Nhưng đó bị treo với jq: error: Cannot index string with string
Điều này là do đầu ra của .c là một chuỗi, không JSON hơn. Làm cách nào để nhận được jq phân tích cú pháp chuỗi này?
giải pháp ban đầu của tôi là sử dụng sed để thay thế tất cả các ký tự thoát (\":\"
, \",\"
và \"
) nhưng đó là lộn xộn, tôi giả sử có một cách xây dựng vào jq
để làm điều này?
Cảm ơn!
chỉnh sửa: Ngoài ra, phiên bản JQ sẵn ở đây là:
$ jq --version
jq version 1.3
Tôi đoán tôi có thể cập nhật nó nếu cần thiết.
Câu hỏi này cũng giúp ích nếu bạn đang tìm kiếm: "Làm cách nào để bỏ chuỗi json không sử dụng jq?" – k0pernikus