Python JSON thành mảng

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

  • PIP so với. PIP3. Sự khác biệt?

nội dung.

Sự khác biệt giữa Đối tượng JSON và Mảng JSON 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 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ột mảng JSON chỉ là vấn đề sở thích. Nếu bạn chịu trách nhiệm phát triển, điều đó tùy thuộc vào bạn

Trong phần sau, bạn sẽ tìm hiểu chính xác đối tượng JSON và mảng JSON là gì và chúng khác nhau như thế nào được giải thích bằng 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 thành các đối tượng từ điển.  

Đị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 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 kiểu dáng gần như giống hệt nhau trên hai đối tượng

Đầu tiên là đối tượng JSON mô tả ô tô và đối tượng thứ hai là từ điển Python có cùng giá trị.  

Bạn có thể chuyển các đối tượng JSON ở dạng văn bản thuần túy, điều này tốt và xấu.  

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

Deserialization là quá trình chuyển đổi JSON thành các đối tượng.  

Đối với thư viện tiêu chuẩn Python json, quá trình giải tuần tự hóa sẽ tạo ra một đầu ra từ điển.  

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 tuần tự hóa, bạn có thể truy cập các trường JSON dưới dạng các trường từ điển.  

Ví dụ: đây là nhà sản xuất ô tô 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.  

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. trọng tải

Để lưu một từ điển vào một đối tượng JSON, bạn cần thực hiện ngược lại quá trình giải tuần tự hóa, đượ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ị

>> js_st = json.dumps[js_car, indent = 4]
>> print[js_st]
{  
  "manufacturer": "Tesla Inc.",  
  "model": "Tesla S",  
  "engineType": "elecrical",  
  "horsePower": 362  
}  

Định dạng đẹp này hoạt động tốt với các đối tượng JSON có nhiều lồng nhau

Bạn cũng có thể tuần tự hóa một đối tượng JSON thành một tệp bằng phương thức  json. bãi rác

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

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

  • Chuỗi. được đặt trong dấu ngoặc kép và có thể chứa các ký tự thoát, chẳng hạn như lập bảng, xuống dòng và ký tự Unicode
  • Số. bao gồm cả số thực và số mũ
  • Boolean. đúng và sai
  • Không có. không có giá trị
  • đối tượng JSON. một đối tượng JSON khác
  • mảng JSON. một mảng JSON khác

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 tuần tự hóa như sau

JSONPythonobjectdictarrayliststringstrnumber [số nguyên]số nguyên [thực]floattrueTruefalseFalsenullNone

Và ngược lại khi họ đăng nhiều kỳ

PythonJSONdictobjectlist, tuplearraystrstringint, floatnumberTruetrueFalsefalseNonenull

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 trong ngoặc của Python. Chúng có thể có cùng kiểu dữ liệu với giá trị trường đối tượng JSON, bao gồm các mảng lồng nhau.  

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.  

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

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

Khi được giải tuần tự hóa, mảng JSON trở thành danh sách Python.  

Bạn có thể tham khảo các yếu tố của danh sách này theo chỉ số.  

Mảng JSON ở đây đại diện cho giá trị của trường pin trong đối tượng JSON

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

Bạn cũng có thể chuyển một mảng JSON ở mức cao nhất của tệp hoặc chuỗi JSON. Hãy thêm một chiếc xe khác và xem điều gì sẽ xảy ra

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

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 chiếu đến một đối tượng cụ thể trong mảng JSON bằng cách sử dụng chỉ mục của nó

Bạn có thể có cùng 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 tại đây

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

Chỉ có một đối tượng JSON với các đối tượng JSON khác bên trong. Các đối tượng JSON chứa hai trường có tên ô tô và các giá trị là các đối tượng JSON tương ứng.  

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 chiếu đến các đối tượng lồng nhau theo tên của chúng chứ không phải theo 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 kỳ thứ gì bạn đang làm việc với. Nó chỉ là một vấn đề của hương vị.  

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 chiếu các trường của chúng theo tên trường hoặc sử dụng các mảng JSON và tham chiếu các phần 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 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 phần tử mảng JSON

Làm cách nào để chuyển đổi JSON thành mảng Python?

Ban đầu, chúng ta đã khai báo một mảng JSON, 'mảng' là một chuỗi. json. loads[array] chuyển đổi mảng JSON thành đối tượng Python i. e. danh sách [ở đây] và giá trị được lưu trữ trong biến dữ liệu. Sau đó, bằng cách sử dụng câu lệnh in, chúng tôi đã in ra danh sách Python.

Làm cách nào để lấy mảng từ đối tượng JSON trong Python?

Các phần tử mảng có thể được truy cập bằng cách sử dụng toán tử "[]" . Không giống như từ điển, nơi bạn có thể lấy giá trị bằng khóa của nó, trong một mảng JSON, các phần tử mảng chỉ có thể được truy cập bằng chỉ mục của chúng.

Làm cách nào để chuyển đổi các giá trị JSON thành danh sách trong Python?

Để chuyển đổi Chuỗi JSON thành Danh sách Python, hãy sử dụng json. hàm tải[] . hàm loading[] lấy chuỗi JSON Array làm đối số và trả về Danh sách Python.

Mảng JSON trong Python là gì?

Vì vậy, mảng JSON chỉ là một từ điển Python chứa danh sách khóa được sắp xếp theo thứ tự. cặp giá trị. Mảng JSON có thể là bất kỳ kiểu dữ liệu nào. Nó cũng có thể lưu trữ Chuỗi, Số nguyên và các loại dữ liệu khác. Một mảng JSON cũng được lập chỉ mục, nghĩa là chúng ta có thể truy cập dữ liệu bên trong mảng bằng cách sử dụng một giá trị chỉ mục

Chủ Đề