Hướng dẫn python json nested dictionaries - từ điển lồng nhau python json

Để hiểu cách JSON của bạn được thiết lập, việc phá vỡ nó dễ dàng hơn. Chúng ta hãy xem các khóa từ điển đầu tiên và xóa các giá trị.

json = {"items": [], "links": {}}

Bạn có một từ điển với hai khóa và hai giá trị. Tất cả ba biến số bạn đang tìm kiếm (id, self, name) đều nằm trong khóa đầu tiên, "các mục". Vì vậy, hãy lặn sâu hơn.

json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]

Bây giờ bạn có một danh sách chứa một từ điển với các giá trị bạn đang tìm kiếm, vì vậy hãy nhập giá trị đầu tiên và duy nhất của danh sách chứa từ điển tiếp theo.

json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}

Cuối cùng, chúng tôi có từ điển với các giá trị đang tìm kiếm, vì vậy bạn có thể sử dụng mã này để tìm tên và ID.

json["items"][0]["name"] = beast

json["items"][0]["id"] = 12345

Biến bản thân được ẩn một từ điển sâu hơn vì vậy chúng ta phải đi sâu vào khóa liên kết.

json["items"][0]["links"]["self"] = http://google.com

Bây giờ bạn có tất cả các giá trị của mình, bạn chỉ cần làm theo tất cả các danh sách và từ điển để có được giá trị bạn muốn.

Hướng dẫn

Demystifying Python JSON, từ điển và danh sách

Hướng dẫn python json nested dictionaries - từ điển lồng nhau python json

JSON: Từ điển và danh sách cấu trúc dữ liệu (loại), hình ảnh của tác giả.

“Cuộc sống giống như một hành tây, bạn bóc nó ra một lớp vào lúc đó, và đôi khi bạn khóc - Carl SandbergCarl Sandberg

Tôi cho rằng điều tương tự có thể được nói về việc trích xuất các giá trị từ các cấu trúc JSON lồng nhau. Ngay cả các lập trình viên lành nghề nhất cũng có thể bị rơi nước mắt khi làm việc với một đối tượng JSON bao gồm một hỗn hợp các cấu trúc dữ liệu được lồng sâu. Quá trình trích xuất các giá trị có thể cảm thấy lộn xộn và vô tổ chức tốt nhất. Càng nhiều dữ liệu, mớ hỗn độn càng lớn.

Hướng dẫn python json nested dictionaries - từ điển lồng nhau python json

Khóa học được tạo bởi tác giả

Trong hướng dẫn này, tôi sẽ hướng dẫn bạn qua một phương pháp từng bước để trích xuất các giá trị bạn cần từ bất kỳ JSON nào. Một lời cảnh báo: Hướng dẫn này không dành cho người mới đối với JSON, Danh sách hoặc Từ điển. Nếu bạn không bao giờ nghe nói về chỉ mục danh sách hoặc cặp giá trị khóa từ điển, tôi sẽ đề nghị xem xét một trong nhiều hướng dẫn tuyệt vời có sẵn trên web hoặc YouTube. Một khi bạn cảm thấy thoải mái hơn với môn học, hãy quay lại để tiếp tục học hỏi và phát triển.A word of warning: this tutorial is not meant for newbies to JSON, lists or dictionaries. If you’ve never heard of a list index or a dictionary key-value pair, I would suggest reviewing one of the many great tutorials available on the web or YouTube. Once you feel more comfortable with the subject, come back to continue learning and growing.

Vệ sinh

JSON so với danh sách so với từ điển

Điều đầu tiên trước tiên, khi nói đến các thuật ngữ của JSON JSON, Danh sách và Từ điển, chúng ta phải thực hiện một số hoạt động dọn phòng quan trọng. JSON, hoặc ký hiệu đối tượng JavaScript, là một định dạng rộng hơn được sử dụng để bao gồm các cấu trúc từ điển và liệt kê như trong hình ảnh dưới đây.

Hướng dẫn python json nested dictionaries - từ điển lồng nhau python json

JSON: Danh sách và cấu trúc từ điển, hình ảnh của tác giả.

Tài liệu kỹ thuật cho biết một đối tượng JSON được xây dựng trên hai cấu trúc: danh sách các cặp giá trị khóa và danh sách các giá trị được đặt hàng. Trong lập trình Python, các cặp giá trị khóa là các đối tượng từ điển và danh sách được đặt hàng là các đối tượng danh sách. Trong thực tế, điểm bắt đầu để trích xuất dữ liệu lồng nhau bắt đầu bằng một từ điển hoặc cấu trúc dữ liệu danh sách. Khi trích xuất dữ liệu lồng nhau, câu hỏi nên là: dữ liệu có được lồng trong một cấu trúc dữ liệu từ điển hoặc danh sách không? Sự kết hợp của các cấu trúc dữ liệu được sử dụng là gì? Cấu trúc dữ liệu đầu tiên được sử dụng từ điển hoặc danh sách?Python Programming, key-value pairs are dictionary objects and ordered list are list objects. In practice, the starting point for the extraction of nested data starts with either a dictionary or list data structure. When extracting Nested Data the question(s) should be: Is the data nested in a Dictionary or List data structure? What is the combination of data structures used? Is the first data structure used a dictionary or a list?

Từ lâu, đây là một tiên đề của tôi rằng những điều nhỏ nhặt là vô cùng quan trọng nhất. - Sir Arthur Conan Doyle,

Nếu có vẻ như tôi đã tạo ra một vấn đề lớn về thuật ngữ, thì đó là vì tôi. Khi nói đến trích xuất dữ liệu lồng nhau, các chi tiết quan trọng. Cấu trúc dữ liệu thay đổi sâu hơn, dữ liệu được lồng trong cấu trúc JSON và biết rằng những sự khác biệt đó là quan trọng. Cấu trúc dữ liệu ban đầu có thể là một danh sách nhưng sau đó thay đổi thành từ điển khi dữ liệu được trích xuất. Chìa khóa để trích xuất dữ liệu từ một đối tượng JSON là nhận ra sự kết hợp của các cấu trúc dữ liệu được sử dụng để lưu trữ dữ liệu. Nếu bạn đấu tranh để nhận ra cấu trúc dữ liệu trong một đối tượng JSON, thì có khả năng bạn sẽ đấu tranh để trích xuất các giá trị bạn muốn. Trong hầu hết các trường hợp, điều này dẫn đến việc áp dụng kỹ thuật trích xuất sai.big deal about the terminology, it is because I am. When it comes to extracting nested data the details matter. Data structures change the deeper the data is nested in the JSON structure and knowing those distinctions are important. The initial data structure may be a list but then change to a dictionary as the data is extracted. The key to extracting data from a JSON object is recognizing the mix of data structures used to store the data. If you struggle to recognize the data structure in a JSON object, it’s likely that you’ll struggle to extract the values you want. In most cases, this results in applying the wrong extraction technique.

Bảng dưới đây là một sự bồi dưỡng ngắn gọn về các kỹ thuật được sử dụng để trích xuất dữ liệu từ cấu trúc JSON.

Hướng dẫn python json nested dictionaries - từ điển lồng nhau python json

Kiểu dữ liệu và phương pháp trích xuất, hình ảnh của tác giả

Một lưu ý cuối cùng trước khi bắt đầu ví dụ của chúng tôi. Trong lập trình Python, thuật ngữ cấu trúc dữ liệu của người Hồi giáo hiếm khi được sử dụng khi mô tả danh sách và từ điển. Thuật ngữ thường được sử dụng là loại dữ liệu của người Viking. Tôi sử dụng loại thuật ngữ kiểu dữ liệu và cấu trúc dữ liệu có thể thay thế cho nhau trong suốt hướng dẫn này. Tôi sử dụng cấu trúc dữ liệu thuật ngữ vì nó truyền tải ý tưởng rằng các cấu trúc dữ liệu là các khối xây dựng cơ bản của đối tượng JSON. Việc sử dụng loại dữ liệu thuật ngữ trong Python không ít quan trọng hơn tuy nhiên nó không truyền đạt ý nghĩa tương tự như chìa khóa để hiểu trích xuất dữ liệu lồng nhau. before starting our example. In Python Programming, the term “data structure” is rarely used when describing lists and dictionary. The commonly used term is “data type”. I use the terms data type and data structure interchangeably throughout this tutorial. I use the term data structure because it conveys the idea that the data structures are the fundamental building blocks of the JSON object. The usage of the term data type in Python is not of less importance however it does not convey the same meaning as a key to understanding nested data extraction.

Dữ liệu thế giới thực

Bắt đầu nào

Một trong những cách tốt nhất để học là bằng cách làm việc thông qua dữ liệu thực với sự kết hợp giữa các cấu trúc dữ liệu danh sách và từ điển. Trong hướng dẫn này, chúng tôi sẽ sử dụng dữ liệu thực từ API của các quốc gia còn lại. API này trả về khoảng 250 bản ghi với sự kết hợp của từ điển, danh sách và các loại dữ liệu khác. Mục tiêu của chúng tôi là trích xuất giá trị 'AFN’ từ cặp giá trị khóa từ điển 'code':'AFN' như trong hình ảnh dưới đây. 'AFN' được lồng trong hai cấu trúc danh sách và một cấu trúc từ điển.

Hướng dẫn python json nested dictionaries - từ điển lồng nhau python json

Dữ liệu API của các quốc gia còn lại, hình ảnh của tác giả

Mã mẫu

Nhấp vào liên kết này sẽ cho phép bạn truy cập mã mẫu trong các ví dụ sau. Liên kết sẽ đưa bạn đến một khóa học tôi đã phát triển về việc học trích xuất dữ liệu JSON lồng nhau. Khóa học đã giúp hàng trăm sinh viên học cách trích xuất dữ liệu lồng nhau. Bạn không phải mua khóa học để có được các tập tin. Tên tệp là SINGLE_JSON.PY và nhiều_JSON.PY.

Trích xuất các mục đơn

Trong ví dụ này, chúng tôi sẽ bắt đầu bằng cách trích xuất dữ liệu bằng cách sử dụng kết hợp các kỹ thuật trích xuất danh sách và từ điển như trong bảng trước. Trong mã Python bên dưới, tôi bắt đầu bằng cách cung cấp logic để nhập dữ liệu, giải pháp và sau đó quy trình làm việc để lấy giải pháp. Tôi khuyên bạn nên làm theo tất cả các bước như hình dưới đây. Các bước quy trình công việc được giải thích bên dưới mã Python.logic to import the data, the solution and then the workflow to derive the solution. I recommend following all the steps as shown below. The workflow steps are explained below the Python code.

Mã Python:

Các bước quy trình làm việc:

  • Step 1: import requests: Dòng này nhập thư viện HTTP yêu cầu cho Python. Đó là thư viện chúng tôi sử dụng để kết nối với API RESTful. Nếu bạn đã cài đặt nó, bạn có thể cài đặt nó từ dấu nhắc lệnh hoặc môi trường ảo bằng lệnh PIP Install yêu cầu.pip install requests command.
  • json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]0 Dòng này lưu trữ địa chỉ web cho API REST. Địa chỉ được lưu trữ trong biến json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]1.
  • json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]2: Phương pháp này được sử dụng để kết nối với API RESTful, https://restcountries.eu/rest/v2/all, để trích xuất dữ liệu. Dữ liệu được trả về được lưu trữ trong biến json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]3. Trong các thuật ngữ kỹ thuật, điều này được gọi là đối tượng phản hồi.: this method is used to connect to the Restful API, https://restcountries.eu/rest/v2/all, to extract the data. The data returned is stored in the json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]3 variable. In technical terms, this is referred to as the response object.
  • json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]4 return một đối tượng JSON của kết quả (nếu kết quả được viết ở định dạng JSON, nếu không nó sẽ gây ra lỗi). Hãy nghĩ về json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]5AS Một định dạng lưu trữ được sử dụng để trao đổi dữ liệu. Trong trường hợp này, chúng tôi lưu trữ nội dung trong json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]6Varable.variable.
  • json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]7: Điều này trả về kiểu dữ liệu Python được sử dụng để lưu trữ dữ liệu. Trong trường hợp này, kiểu dữ liệu được trả về sẽ là một danh sách (json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]8). Nhìn lại bảng tôi đã cung cấp trước đó, dữ liệu có thể được trích xuất bằng chỉ mục danh sách [0, trên mạng]. Bạn phải luôn luôn sử dụng json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]9Function để xác định loại dữ liệu. Nếu bạn biết kiểu dữ liệu, bạn sẽ biết kỹ thuật trích xuất chính xác để sử dụng.: this returns the Python data type used to store the data. In this instance, the data type returned will be a list ( json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]8). Looking back the table I provided earlier, the data can be extracted using the list index [0,…]. You should always use the json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]9function to determine the data type. If you know the data type, you know the correct extraction technique to use.
  • json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}0: Điều này cung cấp số lượng các mục trong danh sách. Mỗi số đại diện cho chỉ mục của một mục trong danh sách và chỉ mục có thể được sử dụng để trích xuất giá trị.: this provides the number of items in the list. Each number represents the index of an item in the list and the index can be used to extract the value.
  • json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}1: 0 đại diện cho mục đầu tiên trong danh sách và được sử dụng để trích xuất mục từ danh sách. Khi mục được trích xuất, một loại dữ liệu mới hiện được phơi bày. json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]9function trong bước 8 được sử dụng để hiển thị kiểu dữ liệu.: the 0 represents the first item in the list AND is used to extract the item from the list. Once the item is extracted, a new data type is now exposed. The json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]9function in step 8 is used to show the data type.
  • json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}3: Kiểu dữ liệu mới sẽ là json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}4. Từ điển có nghĩa là dữ liệu có thể được trích xuất bằng cách sử dụng khóa. Trong dữ liệu của chúng tôi, khóa được sử dụng để trích xuất giá trị là json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}5. Khóa json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}5 được sử dụng trong bước 9. Hãy lưu ý, kiểu dữ liệu đã thay đổi từ json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]8 trong bước 5 thành json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}8 trong bước 8.: the new data type will be json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}4. The dictionary means that the data can be extracted using a key. In our data, the key used to extract the value is json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}5. The json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}5 key is used in step 9. Take note, the data type changed from json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]8 in step 5 to json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}8 in step 8.
  • ________ 29: Khóa json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}5 trong từ điển được sử dụng để xuất json["items"][0]["name"] = beast1. Khi mục được trích xuất, một loại dữ liệu mới hiện được phơi bày. json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]9function trong bước 10 được sử dụng để hiển thị kiểu dữ liệu.the json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}5 key in the dictionary is used to output json["items"][0]["name"] = beast1. Once the item is extracted, a new data type is now exposed. The json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]9function in step 10 is used to show the data type.
  • json["items"][0]["name"] = beast3: Kiểu dữ liệu mới sẽ là json["items"][0]["name"] = beast4. Kiểu dữ liệu danh sách có nghĩa là chúng tôi sử dụng toán tử chỉ mục json["items"][0]["name"] = beast5 để trích xuất bộ giá trị tiếp theo. Trong trường hợp này, giá trị chỉ mục sẽ là 0. Vì vậy, chúng tôi sử dụng nó trong bước 11. Hãy lưu ý, kiểu dữ liệu đã thay đổi từ json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}8 trong bước 8 thành json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]8 trong bước 10.: the new data type will be json["items"][0]["name"] = beast4. The list data type means we use the index operator json["items"][0]["name"] = beast5 to extract the next set of values. In this instance the index value will be 0. So we use it in step 11. Take note, the data type changed from json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}8 in step 8 to json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]8 in step 10.
  • json["items"][0]["name"] = beast8: Chỉ mục ____39 được sử dụng để xuất json["items"][0]["id"] = 123450. Khi mục được trích xuất, một loại dữ liệu mới hiện được phơi bày. json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]9function trong bước 12 được sử dụng để hiển thị kiểu dữ liệu.new data type is now exposed. The json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]9function in step 12 is used to show the data type.
  • json["items"][0]["id"] = 123452: Kiểu dữ liệu mới là ____28. Từ điển có nghĩa là dữ liệu có thể được trích xuất bằng cách sử dụng khóa. Trong dữ liệu của chúng tôi, khóa được sử dụng để trích xuất giá trị là json["items"][0]["id"] = 123454. Khóa json["items"][0]["id"] = 123454 được sử dụng trong bước 13
  • json["items"][0]["id"] = 123456: Khóa json["items"][0]["id"] = 123454 được sử dụng để xuất json["items"][0]["id"] = 123458 là giá trị chúng tôi đang tìm kiếm để xuất.: The json["items"][0]["id"] = 123454 key is used to output the json["items"][0]["id"] = 123458 which is the value we're looking to output.

Vì vậy, hãy để tóm tắt hai bước được lặp lại cho đến khi chúng tôi đạt được giá trị mà chúng tôi muốn trích xuất. Bước đầu tiên là xác định kiểu dữ liệu và bước thứ hai là áp dụng phương pháp trích xuất. Nếu kiểu dữ liệu là danh sách, thì hãy sử dụng toán tử chỉ mục với dấu ngoặc vuông. Tuy nhiên, nếu kiểu dữ liệu là từ điển, hãy sử dụng phím từ điển với dấu ngoặc xoăn.two steps that are repeated until we arrive at the value we want to extract. The first step is to determine the data type and the second step is to apply the extraction method. If the datatype is list, then use the index operator with square brackets. However, if the datatype is a dictionary, use the dictionary key with curly brackets.

Trích xuất nhiều mục

Mặc dù trích xuất một mục danh sách duy nhất từ ​​cấu trúc JSON là bước đầu tiên quan trọng, nhưng không chỉ trích xuất một giá trị duy nhất. Trong dữ liệu trong thế giới thực, các giá trị trong các đối tượng JSON được lưu trữ dưới dạng bộ sưu tập. Trong hình ảnh dưới đây, các khóa và giá trị từ điển json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}5 và json["items"][0]["id"] = 123454 có nhiều mục trong cấu trúc dữ liệu danh sách. Ví dụ trong thế giới thực của chúng tôi, có 250 mục này, vì vậy mục tiêu của chúng tôi trong phần này của hướng dẫn sẽ là trích xuất những giá trị này và các giá trị còn lại.

Hướng dẫn python json nested dictionaries - từ điển lồng nhau python json

Dữ liệu API của các quốc gia còn lại, hình ảnh của tác giả

May mắn thay, chúng ta có thể trích xuất các giá trị này bằng cách xây dựng các bước công việc mà chúng ta đã sử dụng để trích xuất một giá trị duy nhất từ ​​cấu trúc JSON. Tôi đã giành được danh sách các bước đó một lần nữa. Vì các cấu trúc dữ liệu danh sách và từ điển có thể sử dụng được, chúng tôi có thể sử dụng cấu trúc json["items"][0]["links"]["self"] = http://google.com1 để đi qua các giá trị của chúng tôi. Vì vậy, hãy để thêm điều đó vào mã của chúng tôi trong bước 14. Chúng tôi cũng cần sử dụng các chức năng json["items"][0]["links"]["self"] = http://google.com2 và json["items"][0]["links"]["self"] = http://google.com3 để liệt kê số lượng mục trong danh sách. Các bước quy trình công việc được giải thích bên dưới mã Python.

Mã Python:

Các bước quy trình làm việc:

json["items"][0]["links"]["self"] = http://google.com4 Biến json["items"][0]["links"]["self"] = http://google.com5 chứa danh sách json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]8 được trình bày trong bước 4. Hàm json["items"][0]["links"]["self"] = http://google.com3 được sử dụng để đếm số lượng mục trong danh sách. Hàm json["items"][0]["links"]["self"] = http://google.com2 tạo ra một chuỗi các số dựa trên số lượng mục trong danh sách. Số được chuyển cho biến json["items"][0]["links"]["self"] = http://google.com9 mỗi lần json["items"][0]["links"]["self"] = http://google.com1 lặp lại thông qua danh sách json["items"][0]["links"]["self"] = http://google.com5. Trong dòng 48, 'AFN’2 được hiển thị trong bước 14 đến từ bước 13. Chúng tôi đã đặt nó trong cấu trúc json["items"][0]["links"]["self"] = http://google.com1 và sửa đổi mã từ 'AFN’4 → 'AFN’5. 'AFN’4 tham chiếu một mục duy nhất trong danh sách. Tuy nhiên, 'AFN’5 nắm bắt được nhiều mục trong danh sách json["items"][0]["links"]["self"] = http://google.com5. Mỗi lần json["items"][0]["links"]["self"] = http://google.com1 lặp lại, 'AFN’5 được tăng lên để nắm bắt bộ giá trị tiếp theo.

Sự kết luận

Quá trình khai quật dữ liệu lồng nhau đôi khi có thể cảm thấy khó khăn, mạch máu và bực tức.Nó không dễ dàng cho vay các kỹ thuật giới thiệu như lặp lại kỹ lưỡng 'code':'AFN'1.Không thể tránh khỏi, sự phức tạp của cấu trúc JSON đòi hỏi sự xen kẽ giữa nhiều từ điển và kỹ thuật trích xuất danh sách để trích xuất dữ liệu.Nhận được sự treo của nó đòi hỏi một quá trình lặp đi lặp lại nhưng quan trọng hơn là thực hành.Tôi đã bao gồm một số vấn đề thực hành bổ sung với các giải pháp (bấm vào đây).

Khi bạn không luyện tập, người khác đang trở nên tốt hơn - Allen Iverson

May mắn nhất.