Hướng dẫn JSON Python

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 install
0
$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6
$python setup.py install
1
$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6
$python setup.py install
2

________số 8

$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6
$python setup.py install
4

import0

$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6
$python setup.py install
1 import2

import3import4

import3import6import7import8

import3import6json1json2

________số 8

json4

json5

$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6
$python setup.py install
1 json7
$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6
$python setup.py install
1json9json2

import3 2

import3import6import7 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 Python

Mã 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?
  1. Đị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
  2. 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óa

Hã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 json

Hàm

[{"a":1,"b":2,"c":3,"d":4,"e":5}]
5 nhận hai đối số

  1. Dữ liệu cần được ghi vào tệp JSON
  2. 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 JSON

Nó khá đơn giản

JSON thành dữ liệu - Giải tuần tự hóa

Tươ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ệu

json. loading() chuyển đổi chuỗi json thành loại python

Thế 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ận

Rấ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

Python có thể được sử dụng với JSON không?

Python hỗ trợ JSON tự nhiên . Python đi kèm với gói tích hợp có tên là json để mã hóa và giải mã dữ liệu JSON.

JSON hoạt động như thế nào trong Python?

Cấu trúc dữ liệu JSON có định dạng “key”. Các cặp Sử dụng pd. read_json() để tải các JSON và pd đơn giản.