Hướng dẫn how to read array of objects in python - cách đọc mảng đối tượng trong python

Bạn có thể thử như bên dưới để nhận các giá trị từ phản hồi JSON:

import json

content=[{
    "username": "admin",
    "first_name": "",
    "last_name": "",
    "roles": "system_admin system_user",
    "locale": "en",
    "delete_at": 0,
    "update_at": 1511335509393,
    "create_at": 1511335500662,
    "auth_service": "",
    "email": "",
    "auth_data": "",
    "position": "",
    "nickname": "",
    "id": "pbjds5wmsp8cxr993nmc6ozodh"
}, {
    "username": "chatops",
    "first_name": "",
    "last_name": "",
    "roles": "system_user",
    "locale": "en",
    "delete_at": 0,
    "update_at": 1511335743479,
    "create_at": 1511335743393,
    "auth_service": "",
    "email": "",
    "auth_data": "",
    "position": "",
    "nickname": "",
    "id": "akxdddp5p7fjirxq7whhntq1nr"
}]

for item in content:
    print("Name: {}\nEmail: {}\nID: {}\n".format(item['username'],item['email'],item['id']))

Output:

Name: admin
Email: 
ID: pbjds5wmsp8cxr993nmc6ozodh

Name: chatops
Email: 
ID: akxdddp5p7fjirxq7whhntq1nr

Đây là về các đối tượng JSON so với mảng JSON.

Cho dù bạn sử dụng một đối tượng JSON hay mảng JSON là một vấn đề của hương vị.

Vì vậy, nếu bạn muốn biết sự khác biệt giữa đối tượng JSON và mảng JSON là gì, thì bài viết này là dành cho bạn.

Bắt đầu nào!

Hướng dẫn how to read array of objects in python - cách đọc mảng đối tượng trong python

Sự khác biệt giữa JSON Object và JSON mảng là gì?

JSON (ký hiệu đối tượng JavaScript) là một định dạng để lưu trữ và trao đổi dữ liệu dưới dạng các khóa và giá trị. Ví dụ: khi truy xuất phản hồi từ yêu cầu HTTP.

Sự khác biệt giữa một đối tượng JSON và mảng JSON chỉ là vấn đề của hương vị. Nếu bạn có trách nhiệm phát triển, nó sẽ tùy thuộc vào bạn.

Sau đây, bạn sẽ tìm hiểu chính xác các đối tượng JSON và mảng JSON là gì và chúng khác nhau như thế nào với nhau được giải thích với Python.

Trong Python, làm việc với JSON được thực hiện tốt nhất bằng cách chuyển đổi chúng sang các đối tượng từ điển. & NBSP;

Hướng dẫn how to read array of objects in python - cách đọc mảng đối tượng trong python

Định dạng bản ghi JSON rất ngắn gọn và không yêu cầu thông tin trùng lặp như XML.

Đối tượng JSON trong Python là gì?

Hãy để tạo ra một đối tượng JSON và từ điển trong Python:

{  
  "manufacturer": "Tesla Inc.", 
  "model": "Tesla S",
  "engineType": "elecrical",
  "horsePower": "362"
}
car = {  
  "manufacturer": "Tesla Inc.",
  "model": "Tesla S",
  "engineType": "elecrical",
  "horsePower": "362"
}

Ở đây chúng ta thấy gần như chính xác cùng một kiểu dáng trên hai đối tượng.

Đầu tiên là một đối tượng JSON mô tả chiếc xe, và thứ hai là từ điển Python có cùng giá trị. & NBSP; describing the car, and the second is a Python dictionary with the same values. 

Bạn có thể vượt qua các đối tượng JSON bằng văn bản thuần túy, tốt và xấu. & NBSP;

Ưu điểm là nó dễ đọc và phân tích, và nhược điểm là bảo mật. & NBSP;

Hủy bỏ là quá trình chuyển đổi JSON thành các đối tượng. & NBSP;

Đối với Python JSON Standard & NBSP; Thư viện, việc giải phóng hóa tạo ra một đầu ra từ điển. & NBSP;json standard library, deserialization generates a dictionary output. 

Hãy để chuyển đổi một chuỗi JSON thành một từ điển:

>> import json
>> st_car = '{"manufacturer": "Tesla Inc.", "model": "Tesla S", "engineType": "elecrical", "horsePower": 362}'
>> js_car = json.loads(st_car)
>> print(js_car)
{'manufacturer': 'Tesla Inc.', 'model': 'Tesla S', 'engineType': 'elecrical', 'horsePower': 362}

Sau khi giải phóng, bạn có thể truy cập các trường JSON dưới dạng trường từ điển. & NBSP;

Ví dụ, ở đây, nhà sản xuất xe của bạn:

>> print(js_car["manufacturer"])  
Tesla Inc.

Ở đây, đối tượng JSON được tải từ một chuỗi, giống như phản hồi cho yêu cầu HTTP. & NBSP;

Bạn cũng có thể tải một đối tượng JSON từ một tệp bằng phương thức json.load.json.load.

Để lưu từ điển vào một đối tượng JSON, bạn cần thực hiện ngược lại của sự khử thuốc, được gọi là tuần tự hóa:

>> js_st = json.dumps(js_car)
>> print(js_st)
{'manufacturer': 'Tesla Inc.', 'model': 'Tesla S', 'engineType': 'elecrical', 'horsePower': 362}

Khi tuần tự hóa, bạn có thể chọn cách đối tượng sẽ hiển thị:

Name: admin
Email: 
ID: pbjds5wmsp8cxr993nmc6ozodh

Name: chatops
Email: 
ID: akxdddp5p7fjirxq7whhntq1nr
0
Name: admin
Email: 
ID: pbjds5wmsp8cxr993nmc6ozodh

Name: chatops
Email: 
ID: akxdddp5p7fjirxq7whhntq1nr
1

Định dạng khá đẹp này hoạt động tuyệt vời với các đối tượng JSON có nhiều làm tổ.

Bạn cũng có thể tuần tự hóa một đối tượng JSON vào một tệp bằng phương thức & nbsp; json.dump.json.dump.

Trong ví dụ, chúng tôi đã sử dụng các chuỗi và số nguyên làm giá trị trường. Nhưng JSON toàn diện hơn. & NBSP;

Bạn có thể sử dụng các loại dữ liệu này làm giá trị trường:

  • Chuỗi: Được đặt trong các trích dẫn kép và có thể chứa các ký tự thoát, chẳng hạn như bảng, nguồn cấp dữ liệu và các ký tự Unicode.enclosed in double quotes, and may contain escape characters, such as tabulation, line feed, and Unicode characters.
  • Số: bao gồm các số dấu phẩy động và số mũ. including floating-point and exponential numbers.
  • Boolean: Đúng và sai. true and false.
  • Không: Giá trị không có. the none value.
  • Đối tượng JSON: Một đối tượng JSON khác. another JSON object.
  • JSON Array: Một mảng JSON khác. another JSON array.

Các loại JSON được chuyển đổi thành các loại dữ liệu Python trong quá trình giải phóng hóa như sau:

Json Python
sự vậtDIGN
mảngdanh sách
sợi dâystr
Số (Số nguyên)int
số (thực)trôi nổi
thậtĐÚNG VẬY
saiSai
vô giá trịKhông có

& nbsp; và ngược lại khi họ tuần tự hóa:

Python Json
DIGNsự vật
DIGNmảng
strsợi dây
strSố (Số nguyên)
ĐÚNG VẬYthật
Saisai
Không cóvô giá trị

Không có

& nbsp; và ngược lại khi họ tuần tự hóa:

Danh sách, tuple

int, float

con số

Một mảng json trong Python là gì?

Các mảng JSON được cấu trúc giống như các danh sách có khung Python. Chúng có thể có các loại dữ liệu giống như các giá trị trường đối tượng JSON, bao gồm các mảng lồng nhau. & NBSP;

Hãy để thêm một trường pin vào đối tượng JSON ở trên, giá trị của nó là một mảng JSON. & NBSP;

Name: admin
Email: 
ID: pbjds5wmsp8cxr993nmc6ozodh

Name: chatops
Email: 
ID: akxdddp5p7fjirxq7whhntq1nr
3
Name: admin
Email: 
ID: pbjds5wmsp8cxr993nmc6ozodh

Name: chatops
Email: 
ID: akxdddp5p7fjirxq7whhntq1nr
4

Trong mảng này, chúng tôi sẽ theo dõi các giá trị dung lượng pin Tesla,:

Name: admin
Email: 
ID: pbjds5wmsp8cxr993nmc6ozodh

Name: chatops
Email: 
ID: akxdddp5p7fjirxq7whhntq1nr
5
{'manufacturer': 'Tesla Inc.', 'model': 'Tesla S', 'engineType': 'elecrical', 'horsePower': 362}

Trong trường hợp này, bạn có một mảng JSON chứa hai đối tượng JSON.

Bạn chỉ có thể tham khảo một đối tượng cụ thể trong mảng JSON bằng chỉ mục của nó.

Bạn có thể nhận được cùng một cấu trúc dữ liệu mà không cần sử dụng mảng JSON, chỉ sử dụng các đối tượng JSON lồng nhau. Xem ở đây:

Name: admin
Email: 
ID: pbjds5wmsp8cxr993nmc6ozodh

Name: chatops
Email: 
ID: akxdddp5p7fjirxq7whhntq1nr
7
Name: admin
Email: 
ID: pbjds5wmsp8cxr993nmc6ozodh

Name: chatops
Email: 
ID: akxdddp5p7fjirxq7whhntq1nr
8

Có một đối tượng JSON với các đối tượng JSON bên trong. Các đối tượng JSON chứa hai trường với tên xe hơi và các giá trị là các đối tượng JSON tương ứng. & NBSP;

Nếu trình bao bọc là một đối tượng JSON thay vì một mảng, thì bạn có thể tham khảo các đối tượng lồng nhau bằng tên của chúng, chứ không phải bằng các chỉ mục số của chúng.

Đối tượng JSON so với mảng JSON: Sự khác biệt là gì?

Việc sử dụng phương pháp này hay phương pháp khác để chuyển nhiều đối tượng trong JSON tùy thuộc vào bất cứ điều gì bạn đang làm việc. Nó chỉ là một vấn đề của hương vị. & Nbsp;

Hướng dẫn how to read array of objects in python - cách đọc mảng đối tượng trong python

Nếu tất cả tùy thuộc vào bạn, bạn có thể chọn theo cách bạn muốn. Sử dụng các đối tượng JSON lồng nhau và tham khảo các trường của chúng bằng tên trường hoặc sử dụng các mảng JSON và tham khảo các yếu tố của chúng theo chỉ mục.

Điều đáng chú ý là khi bạn giải mã một đối tượng JSON có cấu trúc bị hỏng, bạn sẽ nhận được một JSondecodeError. & NBSP;JSONDecodeError

Ví dụ: nếu bạn quên chỉ định tên của nhà sản xuất trường cho một trong các yếu tố mảng JSON:

Name: admin
Email: 
ID: pbjds5wmsp8cxr993nmc6ozodh

Name: chatops
Email: 
ID: akxdddp5p7fjirxq7whhntq1nr
9
{  
  "manufacturer": "Tesla Inc.", 
  "model": "Tesla S",
  "engineType": "elecrical",
  "horsePower": "362"
}
0

Hoặc nếu bạn đặt một số thay vì một chuỗi trong một tên trường:

{  
  "manufacturer": "Tesla Inc.", 
  "model": "Tesla S",
  "engineType": "elecrical",
  "horsePower": "362"
}
1
{  
  "manufacturer": "Tesla Inc.", 
  "model": "Tesla S",
  "engineType": "elecrical",
  "horsePower": "362"
}
2

Ngoài ra, nếu bạn cố gắng tạo một mảng được lồng trong đối tượng JSON mà không cần chỉ định tên trường:

{  
  "manufacturer": "Tesla Inc.", 
  "model": "Tesla S",
  "engineType": "elecrical",
  "horsePower": "362"
}
3
{  
  "manufacturer": "Tesla Inc.", 
  "model": "Tesla S",
  "engineType": "elecrical",
  "horsePower": "362"
}
4

Hãy chắc chắn rằng bạn theo cấu trúc JSON trong các chương trình của bạn.

Làm thế nào để bạn sử dụng một mảng các đối tượng trong Python?

Chúng ta có thể tạo danh sách đối tượng trong Python bằng cách nối thêm các phiên bản lớp vào danh sách. Bằng cách này, mọi chỉ mục trong danh sách đều có thể trỏ đến các thuộc tính và phương thức của lớp và có thể truy cập chúng. Nếu bạn quan sát nó một cách chặt chẽ, một danh sách các đối tượng hoạt động giống như một mảng các cấu trúc trong C.appending class instances to list. By this, every index in the list can point to instance attributes and methods of the class and can access them. If you observe it closely, a list of objects behaves like an array of structures in C.

Làm thế nào để bạn đọc một mảng các đối tượng JSON trong Python?

Làm thế nào để bạn đọc một mảng các đối tượng JSON từ tệp JSON trong Python ?..
data.json {"a": 21, "b": 42, "c": 73}.
Chương trình python nhập json fileObject = open ("data.json", "r") jsonContent = fileObject.read () alist = json.loads (jsonContent) print (alist) in (alist ['a']) 'b']) in (alist ['c']).

Làm thế nào để bạn truy cập một mảng trong Python?

Một mảng trong Python được sử dụng để lưu trữ nhiều giá trị hoặc mục hoặc các phần tử cùng loại trong một biến duy nhất.Chúng ta có thể truy cập các phần tử của một mảng bằng toán tử chỉ mục [].Tất cả những gì bạn cần làm để truy cập một yếu tố cụ thể là gọi cho mảng bạn đã tạo.using the index operator [] . All you need do in order to access a particular element is to call the array you created.

Làm thế nào để bạn phân tích danh sách JSON trong Python?

Parse JSON - Chuyển đổi từ JSON sang Python Nếu bạn có chuỗi JSON, bạn có thể phân tích nó bằng cách sử dụng phương thức json.Loads ().Kết quả sẽ là một từ điển Python.by using the json.loads() method. The result will be a Python dictionary.