Python JSON là gì và làm thế nào để triển khai nó?



Bài viết này về Python JSON sẽ giúp bạn tìm hiểu cách phân tích cú pháp, tuần tự hóa và giải mã hóa JSON với sự trợ giúp của các chương trình ví dụ.

Bạn có biết cách vận chuyển dữ liệu của mình từ API trực tuyến hoặc lưu trữ các loại dữ liệu khác nhau vào các máy cục bộ của mình không? Bằng cách này hay cách khác, bạn đã đắm mình trong JSON, viết tắt của Ký hiệu đối tượng tập lệnh Java. Đây là một định dạng dữ liệu nổi tiếng và phổ biến được sử dụng để biểu diễn dữ liệu bán cấu trúc. Hãy cùng tìm hiểu chi tiết về Python JSON.

Các khía cạnh sau đây sẽ được thảo luận trong bài viết này:





Giới thiệu về JSON bằng Python:

JSON là viết tắt của J ava S làm tê liệt HOẶC LÀ bject N rái cálà một cách lưu trữ thông tin một cách có tổ chức và dễ dàng. Dữ liệu phải ở dạng văn bản khi được trao đổi giữa trình duyệt và máy chủ.

Logo JSON- Python JSON-Edureka



Trong trường hợp bạn đang tự hỏi liệu nó có ? thì câu trả lời là Không. Nó là một tập lệnh được tạo thành từ văn bản và được sử dụng để lưu trữ và truyền dữ liệu ở định dạng người và máy có thể đọc được. Nó là một định dạng dữ liệu nhỏ, trọng lượng nhẹ lấy cảm hứng từ JavaScript và thường được sử dụng ở định dạng văn bản hoặc chuỗi. Một gói JSON gần giống với từ điển python. Bây giờ, bạn phải tự hỏi

Làm cách nào để đọc tệp JSON bằng Python?

Câu trả lời cho câu hỏi của bạn là, bạn phải nhập mô-đun JSON thường chuyển đổi các kiểu dữ liệu Python thành tệp chuỗi JSON. Nó bao gồm các hàm JSON đọc và ghi trực tiếp từ các tệp JSON. có gói JSON tích hợp sẵn và là một phần của thư viện tiêu chuẩn, vì vậy bạn không cần cài đặt nó.

Thí dụ:

nhập json

Bây giờ bạn đã biết về JSON trong Python, hãy cùng xem xét sâu hơn về Phân tích cú pháp.



Phân tích cú pháp:

Thư viện JSON có thể phân tích cú pháp JSON từ dây hoặc các tệp. Nó cũng có thể phân tích cú pháp JSON thành hoặc liệt kê và làm ngược lại. Phân tích cú pháp thường xảy ra trong hai giai đoạn:

  1. Chuyển đổi từ JSON sang Python
  2. Chuyển đổi từ Python sang JSON

Hãy hiểu rõ hơn về cả hai giai đoạn.

trim làm gì trong java

Chuyển đổi từ JSON sang Python:

Bạn có thể chuyển đổi chuỗi JSON sang Python bằng cách sử dụngjson.loads ().Hãy để tôi chỉ cho bạn cách triển khai thực tế:

Thí dụ:

import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) print (data)

Đầu ra:

Như bạn có thể thấy từ đầu ra ở trên, nó đã in . Hãy in loại dữ liệu để hiểu rõ hơn.

Thí dụ:

import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) print (type (data)) # print the datatype

Đầu ra:



Bây giờ, bạn đã quen với một chuyển đổi, hãy xem loại chuyển đổi khác trong giai đoạn thứ hai.

Chuyển đổi từ Python sang JSON:

Một đối tượng Python có thể được chuyển đổi thành chuỗi JSON bằng cách sử dụngjson.dumps ().Hãy xem một ví dụ dưới đây:

Thí dụ:

import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' data = json.loads (people_string) new_string = json.dumps (data) print (new_string)

Đầu ra:

Đầu ra sẽ có kiểu chuỗi JSON. Tôi đã chứng minh kiểu dữ liệu trong chuyển đổi JSON sang Python, quy trình tương tự sẽ được tuân theo để in kiểu dữ liệu.


Hãy tiếp tục và xem cách Pandas phân tích cú pháp JSON.

Pandas Parsing JSON:

Chuỗi JSON có thể được phân tích cú pháp thành một gấu trúc Khung dữ liệu từ các bước sau:

  • Cấu trúc chung sau đây có thể được sử dụng để tải chuỗi JSON vào DataFrame.
nhập gấu trúc dưới dạng pd pd.read_json (r'Path nơi bạn đã lưu tệp JSON Tên tập tin.json ')
  • Chuẩn bị chuỗi JSON.
  • Tạo tệp JSON mà chúng tôi đang sử dụng là nobel_prize.json.
  • Tải tệp JSON vào DataFrame của gấu trúc.

Mã được triển khai bên dưới tải tệp JSON của tôi vào DataFrame.

nhập gấu trúc dưới dạng pd nhập json với mở (r'C: UsersHarshit_KantDesktopnobel.prize.json ') dưới dạng f: data = json.load (f) print (data) df = pd.DataFrame print (df)

Đầu ra:

Tiếp tục, hãy để chúng tôi xem cách bạn có thể tuần tự hóa JSON bằng Python.

Tuần tự hóa JSON [Mã hóa]:

Serializing JSON chỉ đơn giản có nghĩa là bạn đang mã hóa JSON. Nó chuyển đổi cấu trúc dữ liệu Python đã cho (ví dụ: dict) thành đối tượng JSON hợp lệ của nó. Để xử lý luồng dữ liệu trong tệp, thư viện JSON trong Python sử dụng đổ () bãi () thực hiện chuyển đổi và giúp dễ dàng ghi dữ liệu vào tệp.

Dưới đây là một bảng minh họa Python Loại dữ liệu được chuyển đổi sang loại JSON tương ứng của chúng.

Python JSON

dict (từ điển)

vật

danh sách, mảng

tuple

chuỗi

chuỗi

int, long, float

con số

Thật

thật

Sai

sai

không ai

vô giá trị

Những điểm cần nhớ:

đổ () - Chuyển đổi dữ liệu sang tệp JSON
bãi () - Chuyển đổi dữ liệu thành chuỗi JSON
tải () - Chuyển đổi tệp JSON thành một đối tượng Python
tải () - Chuyển đổi một đối tượng của chuỗi JSON thành một đối tượng Python

In ấn đẹp:

Pretty Printing đảm nhận việc căn chỉnh mã và làm cho nó ở định dạng mà con người có thể đọc được. Hãy xem ví dụ dưới đây, nơi tôi đã truyền hai tham số ‘sort_keys’ luôn trả về giá trị True kiểu boolean và khoảng trắng ‘thụt lề’.

Thí dụ:

import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' data = json.loads (people_string) new_string = json.dumps (data, sort_keys = True, indent = 3) print (new_string)

Đầu ra:

Tiếp tục trong hướng dẫn JSON của Python, hãy để chúng tôi hiểu cách giải mã JSON.

Hủy đăng ký JSON [Giải mã]:

Hủy đăng ký JSON hoàn toàn ngược lại với tuần tự hóa, tức là bạn đang giải mã JSON. Nó chuyển đổi chuỗi JSON đã cho thành một Python vật bằng cách tận dụng tải () tải () phương pháp thực hiện chuyển đổi.

Dưới đây là bảng minh họa việc chuyển đổi kiểu dữ liệu JSON sang kiểu Python tương ứng của nó.

JSON Python

vật

dict (từ điển)

tuple

danh sách, mảng

chuỗi

chuỗi

con số

int, long, float

thật

Thật

sai

Sai

vô giá trị

không ai

Tiếp tục trong hướng dẫn “Python JSON”. Tôi sẽ chỉ cho bạn một ví dụ thời gian thực về cả tuần tự hóa và giải mã hóa thông qua quan điểm mã hóa.

Trình diễn mã hóa:

Trong phần trình diễn mã hóa này, tôi đang sử dụng tập dữ liệu JSON được gọi là 'giải Nobel' được trao đây . Bạn sẽ học cách tuần tự hóa và giải mã hóa giống nhau thông qua một tệp JSON.

Ví dụ (Tuần tự hóa tập dữ liệu JSON):

nhập json với open ('nobel_prize.json.html') dưới dạng f: data = json.load (f) với open ('new_nobel_prize.json.html') là f: json.dump (data, f, indent = 2)

Đầu ra:

được biên dịch thành công và tệp mới “new_nobel_prize.json” được tạo trong đó dữ liệu đang được kết xuất từ ​​tệp đã tồn tại “nobel_prize.json”.

đảo ngược một số trong java

Ví dụ (Hủy số hóa tập dữ liệu JSON):

nhập json với open ('nobel_prize.json.html') dưới dạng f: data = json.load (f) cho nobel_prize trong data ['Prize']: print (nobel_prize ['year'], nobel_prize ['category'])

Đầu ra:

Đoạn mã hiển thị các thay đổi từ tệp JSON sang đối tượng Python tương ứng của nó.

Điều này đưa chúng ta đến phần cuối của bài viết “Python JSON”. Tôi hy vọng bạn đã rõ tất cả các khái niệm liên quan đến JSON, Parsing, Serialization và Deserialization.

Đảm bảo rằng bạn luyện tập nhiều nhất có thể và hoàn nguyên trải nghiệm của mình.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của bài viết Python JSON này và chúng tôi sẽ liên hệ lại với bạn sớm nhất có thể. Để có được kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể với chương trình đào tạo trực tuyến trực tiếp của chúng tôi với hỗ trợ 24/7 và quyền truy cập trọn đời.