JSON JavaScript Object Notation là một định dạng để cấu trúc dữ liệu. Nó chủ yếu được sử dụng để lưu trữ và truyền dữ liệu giữa trình duyệt và máy chủ. Python cũng hỗ trợ JSON với gói tích hợp có tên là json. Gói này cung cấp tất cả các công cụ cần thiết để làm việc với các Đối tượng JSON bao gồm phân tích cú pháp, tuần tự hóa, giải tuần tự hóa, v.v. Hãy xem một ví dụ đơn giản nơi chúng ta chuyển đổi các đối tượng JSON thành các đối tượng Python và ngược lại
Thí dụ
Python3
import
json
________số 8
# JSON string
$tar xvfz demjson-1.6.tar.gz $cd demjson-1.6 $python setup.py install0
$tar xvfz demjson-1.6.tar.gz $cd demjson-1.6 $python setup.py install1
$tar xvfz demjson-1.6.tar.gz $cd demjson-1.6 $python setup.py install2
________số 8
$tar xvfz demjson-1.6.tar.gz $cd demjson-1.6 $python setup.py install4
import
0
$tar xvfz demjson-1.6.tar.gz $cd demjson-1.6 $python setup.py install1
import
2import
3import
4
import
3import
6import
7import
8
import
3import
6json
1json
2
________số 8
json
4
json
5
$tar xvfz demjson-1.6.tar.gz $cd demjson-1.6 $python setup.py install1
json
7$tar xvfz demjson-1.6.tar.gz $cd demjson-1.6 $python setup.py install1
json
9json
2import
3
2
import
3import
6import
7
6
đầu ra
{'id': '09', 'name': 'Nitin', 'department': 'Finance'} { "id": "09", "name": "Nitin", "department": "Finance" }
Hướng dẫn JSON này sẽ giúp bạn tìm hiểu cách hoạt động của JSON với Python từ cơ bản đến nâng cao, như phân tích cú pháp JSON, đọc và ghi vào tệp JSON, tuần tự hóa và giải tuần tự hóa JSON bằng một bộ chương trình JSON khổng lồ
Chương này trình bày cách mã hóa và giải mã các đối tượng JSON bằng ngôn ngữ lập trình Python. Hãy bắt đầu với việc chuẩn bị môi trường để bắt đầu lập trình với Python cho JSON
Môi trường
Trước khi bắt đầu mã hóa và giải mã JSON bằng Python, bạn cần cài đặt bất kỳ mô-đun JSON nào có sẵn. Đối với hướng dẫn này, chúng tôi đã tải xuống và cài đặt Demjson như sau -
$tar xvfz demjson-1.6.tar.gz $cd demjson-1.6 $python setup.py install
Hàm JSON
FunctionLibrariesencodeMã hóa đối tượng Python thành biểu diễn chuỗi JSON. decodeGiải mã một chuỗi được mã hóa JSON thành một đối tượng PythonMã hóa JSON trong Python [mã hóa]
Hàm mã hóa Python[] mã hóa đối tượng Python thành biểu diễn chuỗi JSON
cú pháp
demjson.encode[self, obj, nest_level=0]
Thí dụ
Ví dụ sau hiển thị các mảng trong JSON bằng Python
#!/usr/bin/python import demjson data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ] json = demjson.encode[data] print json
Trong khi thực hiện, điều này sẽ tạo ra kết quả sau -
[{"a":1,"b":2,"c":3,"d":4,"e":5}]
Giải mã JSON trong Python [decode]
Python có thể sử dụng demjson. hàm decode[] để giải mã JSON. Hàm này trả về giá trị được giải mã từ json thành một loại Python thích hợp
JavaScript Object Notation [JSON] là một định dạng trao đổi dữ liệu. Mặc dù ban đầu được thiết kế cho JavaScript, nhưng ngày nay, nhiều chương trình máy tính tương tác với web và sử dụng JSON
Tương tác với web hầu hết được thực hiện thông qua API [Giao diện lập trình ứng dụng], ở định dạng JSON
Trong bài viết này tôi muốn tập trung vào một loại định dạng được gọi là JSON. Tôi khá chắc chắn rằng bạn đã từng nghe nói về JSON trước đây. Nhưng nếu không, hãy để tôi mô tả ngắn gọn về JSON cho bạn
JSON là Ký hiệu đối tượng JavaScript và được lấy cảm hứng từ tập hợp con của ngôn ngữ lập trình JS xử lý cú pháp nghĩa đen của đối tượng. Tuy nhiên, trong khi đó ngôn ngữ bất khả tri có nghĩa là không thành vấn đề nếu bạn không viết JavaScript. Bạn có thể xử lý dữ liệu được định dạng JSON bằng bất kỳ ngôn ngữ lập trình nào khác
Nhưng tại sao JSON lại quan trọng với bạn, bạn quan tâm đến khoa học dữ liệu phải không? . Sau đó nhiều hơn về điều đó. [Tiết diện. “Real World?”] Vì vậy, nếu bạn đang trên hành trình giống như tôi và bạn muốn tìm hiểu một công cụ hữu ích khác. Bài viết này là dành cho bạn. Ngay cả khi bạn đang ở một giai đoạn khác trong sự nghiệp của mình, tôi tin chắc rằng vì tiêu đề đã thu hút sự chú ý của bạn nên bạn muốn làm mới kiến thức của mình về định dạng JSON để giải quyết vấn đề hiện tại hoặc bạn tìm kiếm một kỹ năng mới trong kho vũ khí trăn khoa học dữ liệu của mình
JSON trông như thế nàoĐược rồi, JSON trông như thế nào và nó hỗ trợ những gì?
Đây là tệp
[{"a":1,"b":2,"c":3,"d":4,"e":5}]2
Như bạn có thể thấy, nó hỗ trợ các kiểu nguyên thủy như chuỗi, số nguyên cũng như danh sách và đối tượng lồng nhau. Và có vẻ như Python. Nhưng hãy chú ý, tôi đã cung cấp bảng chuyển đổi đọc và chuyển đổi ghi để bạn được thông báo về sự khác biệt giữa JSON và python
Tại sao lưu trữ dữ liệu trong Python bằng mô-đun JSON?- Định dạng JSON cho phép các lập trình viên kết xuất các cấu trúc dữ liệu đơn giản vào một tệp và tải lại chúng vào các chương trình khi cần
- Dữ liệu có thể được chia sẻ giữa các chương trình của ngôn ngữ khác bằng các tệp được định dạng JSON
Vì ưu điểm của định dạng JSON đến từ việc lưu trữ và lấy dữ liệu nên bài viết này chia sẻ với bạn các hàm và ví dụ để lần sau khi bạn muốn xử lý dữ liệu, các kỹ năng về định dạng JSON sẽ sẵn sàng cho bạn sử dụng
Nếu bạn muốn có thêm các bài viết về chủ đề này, điều cần thiết là bạn phải biết một số từ vựng. Việc mã hóa dữ liệu thành JSON được gọi là tuần tự hóa [dữ liệu được lưu trữ dưới dạng chuỗi byte]. Quá trình ngược lại lấy dữ liệu từ tệp có định dạng JSON được gọi là quá trình giải tuần tự hóa. Nhưng tôi nghĩ không cần thiết phải biết điều đó đối với các nhiệm vụ cơ bản. Vì vậy, bây giờ chúng ta hãy bắt đầu thực hiện một số kinh nghiệm
Dữ liệu thành json — Tuần tự hóaHãy tưởng tượng bạn xây dựng một chương trình tạo dữ liệu nhưng bạn cũng muốn chia sẻ dữ liệu và thông tin cơ bản cho những người dùng/chương trình khác. Đây là lý do tại sao bạn muốn lấy dữ liệu và lưu trữ nó trong tệp có định dạng JSON. Nhưng dữ liệu được dịch như thế nào?
bảng của tác giả
Được rồi, bây giờ chúng ta biết những gì chúng ta có thể mong đợi từ việc chuyển đổi trong quá trình lưu trữ, chúng ta có thể xem xét các chức năng đi kèm với gói json tích hợp
import json
Chúng tôi có hai hàm trong thư viện json có tên là
[{"a":1,"b":2,"c":3,"d":4,"e":5}]3 và
[{"a":1,"b":2,"c":3,"d":4,"e":5}]4 có thể được sử dụng để tuần tự hóa
Hãy nhìn vào một lúc
json. dump[] lưu trữ đối tượng dữ liệu dưới dạng chuỗi JSON trong. tập tin jsonHàm
[{"a":1,"b":2,"c":3,"d":4,"e":5}]5 nhận hai đối số
- Dữ liệu cần được ghi vào tệp JSON
- Một đối tượng tệp có thể được sử dụng để lưu dữ liệu
thí dụ. json trông giống như sau
json. dumps[] chuyển đổi đối tượng python thành chuỗi JSONNó khá đơn giản
JSON thành dữ liệu - Giải tuần tự hóaTương tự, deserialization là quá trình chuyển đổi dữ liệu JSON thành kiểu dữ liệu gốc. Ở đây, chúng tôi chuyển đổi dữ liệu JSON trở lại từ điển trong Python. Nhưng một lần nữa chúng ta phải xem xét bảng chuyển đổi cho Python để nhận thức được những sai lầm có thể xảy ra
bảng của tác giả
Và hãy xem, nếu chúng ta mã hóa một bộ dữ liệu, nó sẽ trở thành một mảng và một mảng sẽ trở thành một danh sách. Xin hãy nhớ điều này
Tiếp theo, chúng tôi muốn kiểm tra cả hai chức năng được sử dụng để khử lưu huỳnh
json. load[] đọc các tệp json thành các loại python[{"a":1,"b":2,"c":3,"d":4,"e":5}]6
Dữ liệu đến từ tệp
[{"a":1,"b":2,"c":3,"d":4,"e":5}]2 và được lưu trữ trong từ điển có tên là dữ liệujson. loading[] chuyển đổi chuỗi json thành loại pythonThế giới thực?
Tôi đã đề cập trong phần giới thiệu rằng tôi tình cờ gặp JSON trong khi xây dựng dự án python của riêng mình để cố gắng tìm kiếm một công việc kỹ sư máy học/khoa học dữ liệu. Mục tiêu của tôi là lưu trữ dữ liệu mà tôi đã thu thập từ API vào một tệp để sau này tôi có thể sử dụng nó để kiểm tra. Việc nhận dữ liệu từ API dưới dạng chuỗi json khá phổ biến. Với thư viện có tên là
[{"a":1,"b":2,"c":3,"d":4,"e":5}]8, bạn có thể lấy dữ liệu từ API. Sau đó, bạn cần chuyển đổi dữ liệu thành đối tượng python, điều này có thể dễ dàng thực hiện chỉ cần sử dụng
[{"a":1,"b":2,"c":3,"d":4,"e":5}]9 mà không cần bất kỳ đối số nào
Bây giờ, hãy tưởng tượng bạn thực hiện một số tranh luận và quyết định lấy một tập hợp con dữ liệu và muốn lưu trữ nó để sử dụng sau này. Bạn đã học được rằng bạn có thể sử dụng
import json
0 và có sẵn nó cho lần sau. ỪSự kết luậnRất vui vì bạn đã học cách lưu trữ dữ liệu theo cách có thể quản lý được khá phổ biến với nhiều ngôn ngữ khác. Bạn cũng biết nơi tra cứu các bảng chuyển đổi và bạn đã thấy một số ví dụ mà bạn có thể thay đổi mà không cần nỗ lực nhiều để chúng hữu ích cho nhu cầu của bạn. Tôi đã tóm tắt các bước chính của quy trình làm việc trong 4 điểm sau