Hướng dẫn python json recursive search - tìm kiếm đệ quy python json
Tôi đang cố gắng lấy các giá trị lồng nhau từ tệp JSON. Tôi muốn in ra từng giá trị cho mỗi khóa "ID". Tôi nghĩ rằng tôi gần gũi nhưng không thể tìm ra lý do tại sao loại OBJ thay đổi từ một danh sách sang danh sách, và sau đó tại sao tôi không thể phân tích danh sách đó. Đây là một liên kết đến JSON mà tôi đang làm việc với: http://hastebin.com/ratevimixa.tex Và đây là mã hiện tại của tôi:
-------------------------------------------------------------------------------------------updateupdateĐây là những gì tôi đang làm việc và nó sẽ trả về một giá trị ID duy nhất, nhưng không phải tất cả chúng:
Funnydman 7.3663 Huy hiệu vàng27 Huy hiệu bạc51 Huy hiệu Đồng3 gold badges27 silver badges51 bronze badges Đã hỏi ngày 9 tháng 1 năm 2014 lúc 19:06Jan 9, 2014 at 19:06
1 JSON có thể chứa một danh sách các đối tượng, cần tìm kiếm: Phiên bản Python 2.7:
Phiên bản Python 3.x:
Đã trả lời ngày 18 tháng 8 năm 2016 lúc 10:40Aug 18, 2016 at 10:40
Bo Sunesenbo SunesenBo Sunesen 8811 Huy hiệu vàng7 Huy hiệu bạc9 Huy hiệu đồng1 gold badge7 silver badges9 bronze badges 4
Điều này sẽ tạo ra một trình lặp sẽ mang lại mọi giá trị ở mọi cấp độ dưới "ID" khóa. Ví dụ sử dụng (in tất cả các giá trị đó):
Đã trả lời ngày 9 tháng 1 năm 2014 lúc 19:30Jan 9, 2014 at 19:30
9 Một chút mã sạch hơn (trong Python 3.x).
Đã trả lời ngày 23 tháng 9 năm 2020 lúc 3:36Sep 23, 2020 at 3:36
1 Dưới đây là một hàm đệ quy đơn giản để thu thập tất cả các giá trị từ tài liệu JSON cho một khóa nhất định. Giá trị có thể là tài liệu JSON là tốt. Các giá trị tương ứng được nối vào search_result.
Đã trả lời ngày 3 tháng 2 lúc 21:06Feb 3 at 21:06
Bạn có thể sử dụng cho danh sách JSON bên dưới,
0Đã trả lời ngày 16 tháng 12 năm 2020 lúc 14:34Dec 16, 2020 at 14:34
Tiện ích mở rộng cho Python 3.x Trả lời: Nếu JSON lồng nhau có các khóa tương tự trong danh sách hoặc từ điển khác nhau và bạn muốn lấy giá trị đầu tiên của nó .. Dưới đây là cách chung: 1Đã trả lời ngày 29 tháng 10 năm 2021 lúc 23:56Oct 29, 2021 at 23:56
Ram Ghadiyaramram GhadiyaramRam Ghadiyaram 33.2K14 Huy hiệu vàng93 Huy hiệu bạc121 Huy hiệu đồng14 gold badges93 silver badges121 bronze badges |