Soái ca giải mã trăn

JSON là một định dạng chuẩn để trao đổi dữ liệu, được lấy cảm hứng từ JavaScript. Về cơ bản, JSON ở dạng chuỗi hoặc văn bản. JSON là viết tắt của Java Script Object Notation. là một định dạng chuẩn để trao đổi dữ liệu, được lấy cảm hứng từ JavaScript. Về cơ bản, JSON ở dạng chuỗi hoặc văn bản. JSON là viết tắt của Java Script Object Notation

Cú pháp của JSON. JSON được viết dưới dạng cặp từ khóa và giá trị

{
    "Key1": "Value1",
    "Key2": "Value2",
}

JSON very same with dictionary type of data in Python. Python hỗ trợ JSON và nó có sẵn một thư viện dưới dạng JSON

Thư viện JSON trong Python

Các mô-đun bên ngoài 'marshal' và 'pickle' của Python duy trì một phiên bản của thư viện JSON. Để thực hiện các thao tác liên quan đến JSON như mã hóa và giải mã trong Python, trước tiên bạn phải tải thư viện JSON trong tệp. py your,'marshal' and 'pickle' of Python duy trì một phiên bản của thư viện JSON. Để thực hiện các thao tác liên quan đến JSON như mã hóa và giải mã trong Python, trước tiên bạn phải tải thư viện JSON trong tệp. py của bạn,

import json

Các phương thức sau đây có sẵn trong mô-đun JSON

Phương thức

Miêu tả

bãi ()

Mã hóa thành các đối tượng JSON

bãi rác()

Chuỗi mã hóa được ghi trong tệp

tải ()

JSON string solution

trọng tải()

Giải mã trong khi đọc tệp JSON


Trong bài viết này, bạn sẽ tìm hiểu về

  • JSON là gì?

  • Thư viện JSON trong Python

  • Python sang JSON (Mã hóa)

  • JSON sang Python (Giải mã)

    • Giải mã tệp JSON hoặc phân tích tệp JSON trong Python

    • Mã hóa tối thiểu trong Python

    • Định dạng mã JSON (giúp đẹp hơn)

  • Mã hóa đối tượng phức tạp trong Python

  • Giải mã các đối tượng JSON phức tạp trong Python

  • Tổng quan về lớp tuần tự hóa (tuần tự hóa) JSON

  • Tổng quan về lớp giải mã (deserialization) JSON

    • Giải mã dữ liệu JSON từ URL. Ví dụ thực tế

  • Các ngoại lệ liên quan đến thư viện JSON trong Python

  • Số vô hạn và số NaN trong Python

  • Key it repeat in JSON String

  • CLI (Giao diện dòng lệnh) với JSON trong Python

  • Ưu điểm của JSON trong Python

  • Undefault in the job development JSON in Python

  • mã gian lận

Python sang JSON (Mã hóa)

JSON sang Python (Giải mã)

Giải mã tệp JSON hoặc phân tích tệp JSON trong Python

Mã hóa tối thiểu trong Python

Định dạng mã JSON (giúp đẹp hơn)

Mã hóa đối tượng phức tạp trong Python

Giải mã các đối tượng JSON phức tạp trong Python

Tổng quan về lớp tuần tự hóa (tuần tự hóa) JSON

Tổng quan về lớp giải mã (deserialization) JSON

Giải mã dữ liệu JSON từ URL. Ví dụ thực tế

Các ngoại lệ liên quan đến thư viện JSON trong Python

Số vô hạn và số NaN trong Python

Key it repeat in JSON String

CLI (Giao diện dòng lệnh) với JSON trong Python

Ưu điểm của JSON trong Python

Undefault in the job development JSON in Python

mã gian lận

Theo mặc định, thư viện Python thực hiện chuyển đổi các đối tượng Python thành các đối tượng JSON

con trăn

JSON

Từ điển (dict)dumps()

Objectdumps() chuyển đổi từ điển đối tượng của python thành định dạng dữ liệu dưới dạng chuỗi JSON

Danh sách (list)

import json

x = {
  "name": "Ken",
  "age": 45,
  "married": True,
  "children": ("Alice","Bob"),
  "pets": ['Dog'],
  "cars": [
    {"model": "Audi A1", "mpg": 15.1},
    {"model": "Zeep Compass", "mpg": 18.1}
  ]
}
# sorting result in asscending order by keys:
sorted_string = json.dumps(x, indent=4, sort_keys=True)
print(sorted_string)

Mảng

{"person": {"name": "Kenn", "sex": "male", "age": 28}})

unicodedump()

# here we create new data_file.json file with write mode using file i/o operation 
with open('json_file.json', "w") as file_write:
# write json data into file
json.dump(person_data, file_write)

Mảng

unicode

Soái ca giải mã trăn

JSON sang Python (Giải mã)

Giải mã tệp JSON hoặc phân tích tệp JSON trong Pythonloads() & load() của thư viện JSON trong Python. Bảng dịch dưới đây đưa ra các ví dụ về cách chuyển đối tượng JSON sang đối tượng trong Python, điều này rất hữu ích trong trường hợp bạn muốn giải mã chuỗi JSON sang Python

Mã hóa tối thiểu trong Python

Định dạng mã JSON (giúp đẹp hơn)

Mã hóa đối tượng phức tạp trong Python

Giải mã các đối tượng JSON phức tạp trong Python

Tổng quan về lớp tuần tự hóa (tuần tự hóa) JSON

Tổng quan về lớp giải mã (deserialization) JSON

Giải mã dữ liệu JSON từ URL. Ví dụ thực tế

Các ngoại lệ liên quan đến thư viện JSON trong Python

Số vô hạn và số NaN trong Python

Key it repeat in JSON String

CLI (Giao diện dòng lệnh) với JSON trong Python

trôi nổi

Ưu điểm của JSON trong Python

Undefault in the job development JSON in Python

mã gian lận

Theo mặc định, thư viện Python thực hiện chuyển đổi các đối tượng Python thành các đối tượng JSON

con trăn

JSON

Từ điển (dict) json. tải (),

import json  # json library imported
# json data string
person_data = '{  "person":  { "name":  "Kenn",  "sex":  "male",  "age":  28}}'
# Decoding or converting JSON format in dictionary using loads()
dict_obj = json.loads(person_data)
print(dict_obj)
# check type of dict_obj
print("Type of dict_obj", type(dict_obj))
# get human object details
print("Person......",  dict_obj.get('person'))

Mảng

{'person': {'name': 'Kenn', 'sex': 'male', 'age': 28}}
Type of dict_obj <class 'dict'>
Person..... {'name': 'John', 'sex': 'male'}


unicode

chuỗi. Giải mã tệp JSON là thao tác liên quan đến tệp nhập/xuất tệp. Tệp JSON phải tồn tại trên hệ thống ở vị trí mà bạn khai báo trong chương trình

Số-int,dài

import json
#File I/O Open function for read data from JSON File
with open('X:/json_file.json') as file_object:
        # store file data in object
        data = json.load(file_object)
print(data)

number - integer

Mảng

________số 8


Mã hóa tối thiểu trong Python

Định dạng mã JSON (giúp đẹp hơn)

Mã hóa đối tượng phức tạp trong Python

import json
# Create a List that contains dictionary
lst = ['a', 'b', 'c',{'4': 5, '6': 7}]
# separator used for compact representation of JSON.
# Use of ',' to identify list items
# Use of ':' to identify key and value in dictionary
compact_obj = json.dumps(lst, separators=(',', ':'))
print(compact_obj)

Mảng

import json
0

unicode

  • chuỗi

  • Số-int,dài

import json
1

Mảng

import json
2

unicode

chuỗi

Number-int,long sort_keys in đối số của hàm dumps () sắp sắp xếp từ khóa trong JSON theo thứ tự tăng dần. Sort_keys object is a property type Boolean. Sắp xếp quá trình được thực hiện nếu giá trị được đặt là Đúng và đảo ngược

Mã hóa đối tượng phức tạp trong Python

Giải mã các đối tượng JSON phức tạp trong Python

Mảng

import json
4

unicode

Mã hóa đối tượng phức tạp trong Python

Giải mã các đối tượng JSON phức tạp trong Python

  • Tổng quan về lớp tuần tự hóa (tuần tự hóa) JSON

  • Tổng quan về lớp giải mã (deserialization) JSON

Giải mã dữ liệu JSON từ URL. Ví dụ thực tế

Các ngoại lệ liên quan đến thư viện JSON trong Python

Số vô hạn và số NaN trong Python

import json
5

đầu ra

import json
6

Giải mã đối tượng JSON phức tạp trong Python

Để giải mã các đối tượng phức trong JSON, hãy sử dụng tham số object_hook để kiểm tra chuỗi JSON có chứa các đối tượng phức hay không. Ví dụ,

import json
7

Đầu ra.
 

import json
8

Tổng quan về JSON của lớp tuần tự hóa (Serialization)

Lớp JSONEncoder được sử dụng để tuần tự hóa bất kỳ đối tượng Python nào trong khi thực hiện mã hóa. Nó chứa ba phương thức mã hóa khác nhau

  • default(o) - Được khai triển trong lớp con và trả về các đối tượng tuần tự cho đối tượng o. - Được phát triển khai báo trong lớp con và trả về các đối tượng tuần tự cho đối tượng o

  • encode(o) - Giống như phương thức json. dumps(), nó trả về chuỗi JSON của cấu trúc dữ liệu Python. - Giống như phương thức json. dumps(), nó trả về chuỗi JSON của cấu trúc dữ liệu Python

  • iterencode(o) – Biểu diễn từng chuỗi một và mã hóa đối tượng o. – Biểu diễn từng chuỗi và mã hóa đối tượng o

Với sự trợ giúp của phương thức encode() thuộc lớp JSONEncoder, chúng ta cũng có thể mã hóa bất kỳ đối tượng Python nào

import json
9

đầu ra

import json

x = {
  "name": "Ken",
  "age": 45,
  "married": True,
  "children": ("Alice","Bob"),
  "pets": ['Dog'],
  "cars": [
    {"model": "Audi A1", "mpg": 15.1},
    {"model": "Zeep Compass", "mpg": 18.1}
  ]
}
# sorting result in asscending order by keys:
sorted_string = json.dumps(x, indent=4, sort_keys=True)
print(sorted_string)
0

Tổng quan về lớp giải mã (deserialization) JSON

Lớp JSONDecoder được sử dụng để giải mã tuần tự hóa bất kỳ đối tượng Python nào trong khi thực hiện giải mã. Nó chứa ba phương pháp giải mã khác nhau

  • default (o) - Được khai triển trong lớp con và trả về đối tượng giải mã. - Được khai thác trong lớp con và trả về đối tượng đã giải mã

  • decode (o) - Giống như phương thức json. loading(), nó trả về cấu trúc Python data of string or data JSON. - Giống như phương thức json. loading(), nó trả về cấu trúc Python data of string or data JSON

  • raw_decode (o) – Biểu diễn từng từ điển Python và giải mã đối tượng o. – Biểu diễn từng từ điển Python và giải mã đối tượng o

Với sự trợ giúp của phương thức giải mã () của lớp JSONDecoder, chúng tôi cũng có thể giải mã chuỗi JSON

import json

x = {
  "name": "Ken",
  "age": 45,
  "married": True,
  "children": ("Alice","Bob"),
  "pets": ['Dog'],
  "cars": [
    {"model": "Audi A1", "mpg": 15.1},
    {"model": "Zeep Compass", "mpg": 18.1}
  ]
}
# sorting result in asscending order by keys:
sorted_string = json.dumps(x, indent=4, sort_keys=True)
print(sorted_string)
1

đầu ra

import json

x = {
  "name": "Ken",
  "age": 45,
  "married": True,
  "children": ("Alice","Bob"),
  "pets": ['Dog'],
  "cars": [
    {"model": "Audi A1", "mpg": 15.1},
    {"model": "Zeep Compass", "mpg": 18.1}
  ]
}
# sorting result in asscending order by keys:
sorted_string = json.dumps(x, indent=4, sort_keys=True)
print(sorted_string)
2

Giải mã dữ liệu JSON từ URL. Ví dụ thực tế

Chúng ta sẽ lấy dữ liệu của CityBike NYC (Hệ thống chia sẻ xe đạp) từ URL sau ( https. // nguồn cấp dữ liệu. citibikenyc. com/trạm/trạm. json ) và chuyển đổi sang định dạng từ điển

Ví dụ

LƯU Ý. -Bảo đảm thư viện yêu cầu đã được cài đặt trong Python của bạn, nếu không hãy mở cửa sổ dòng lệnh hoặc CMD và nhập

( Đối với Python 3 trở lên) yêu cầu cài đặt pip3spip3 yêu cầu cài đặt

import json

x = {
  "name": "Ken",
  "age": 45,
  "married": True,
  "children": ("Alice","Bob"),
  "pets": ['Dog'],
  "cars": [
    {"model": "Audi A1", "mpg": 15.1},
    {"model": "Zeep Compass", "mpg": 18.1}
  ]
}
# sorting result in asscending order by keys:
sorted_string = json.dumps(x, indent=4, sort_keys=True)
print(sorted_string)
3

đầu ra

import json

x = {
  "name": "Ken",
  "age": 45,
  "married": True,
  "children": ("Alice","Bob"),
  "pets": ['Dog'],
  "cars": [
    {"model": "Audi A1", "mpg": 15.1},
    {"model": "Zeep Compass", "mpg": 18.1}
  ]
}
# sorting result in asscending order by keys:
sorted_string = json.dumps(x, indent=4, sort_keys=True)
print(sorted_string)
4

Các ngoại lệ liên quan đến thư viện JSON trong Python

  • Class json. JSONDecoderError xử lý liên kết ngoại lệ đến hoạt động giải mã và nó là một lớp con của ValueError. json. JSONDecoderError xử lý liên kết ngoại lệ đến hoạt động giải mã và nó là một lớp con của ValueError

  • Ngoại lệ - json. JSONDecodeError (tin nhắn, doc)json. JSONDecodeError (tin nhắn, tài liệu)

  • Tham số của ngoại lệ là,

    • msg - Thông báo lỗi chưa được định dạng

    • doc - Tài liệu JSON được phân tích cú pháp

    • pos - only number started of doc when it fail

    • lineno – number of the line could current compatible with pos

    • dấu hai chấm – số cột không thể hiện tương ứng với vị trí

Ví dụ,

import json

x = {
  "name": "Ken",
  "age": 45,
  "married": True,
  "children": ("Alice","Bob"),
  "pets": ['Dog'],
  "cars": [
    {"model": "Audi A1", "mpg": 15.1},
    {"model": "Zeep Compass", "mpg": 18.1}
  ]
}
# sorting result in asscending order by keys:
sorted_string = json.dumps(x, indent=4, sort_keys=True)
print(sorted_string)
5

Số vô hạn và số NaN trong Python

Định dạng trao đổi dữ liệu JSON (RFC - Yêu cầu nhận xét) không cho phép giá trị vô hạn hoặc giá trị NaN nhưng thư viện JSON của Python không có giới hạn nào đối với công việc này. Nếu JSON nhận được kiểu dữ liệu vô hạn và NanN, thì nó sẽ chuyển đổi sang định dạng chữ