Python kiểm tra xem đối tượng json

JSON là định dạng dữ liệu có sẵn trên các nền tảng cho phép trao đổi dữ liệu ở dạng con người có thể đọc được. Nó là viết tắt của JavaScript Object Notation [JSON]

Python có một thư viện gọi là “json” được sử dụng khi làm việc với JSON. Định dạng JSON hoạt động giống như Từ điển Python ngoại trừ các chuyển đổi giá trị sau

Kiểu dữ liệu PythonJSON Tương đươngTruetrueFalsefalsefloatNumberintNumberNonenulldictObjectlistArraytupleArrayTable 1. Chuyển đổi xảy ra khi bạn chuyển đổi kiểu dữ liệu Python sang định dạng JSON

Từ điển Python là định dạng dữ liệu khóa-giá trị và thường được trình bày bằng mã như sau

{:, :, …}

Trước khi tìm hiểu cách kiểm tra các giá trị trống, chúng ta phải hiểu cách chuyển từ điển Python sang JSON và ngược lại bằng cách sử dụng gói json

Chuyển đổi từ điển Python thành JSON

Điều này được thực hiện bằng hàm dumps[] trong gói json như sau

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

nhập json

# Từ điển trăn

sản phẩm = {

"product1". {

     "giá". 45,

     "tên" . "kính 6B",

     "các loại" . ["A", "B"],

     "nhà sản xuất". Không có,

     "đã phê duyệt". Đúng,

     "danh mục". 67

     },

"product2". {

     "giá". 45,

     "tên" . "trang phục 1XB",

     "các loại" . ["X", "B"],

     "nhà sản xuất". "Dệt ABC",

     "đã phê duyệt". Sai,

     "danh mục". 23

     },

"product3". {

     "giá". Không có,

     "tên" . "khởi động",

     "các loại" . [],

     "nhà sản xuất". "XYZ mặc",

     "đã phê duyệt". Đúng,

     "danh mục". " "

     }

}

#chuyển từ điển Python sang định dạng dữ liệu JSON

obj = json. kết xuất[sản phẩm, thụt lề=3]

# in dữ liệu JSON

in[obj]

in["nhập obj. ", loại[obj]]

Đầu ra [cắt bớt]

{
   "product1": {
  	"price": 45,
  	"name": "glasses 6B",
  	"types": [
     	"A",
     	"B"
  	],
  	"manufacturer": null,
  	"approved": true,
  	"category": 67
   },
…
type obj:  

Như mong đợi, khi đoạn mã trên được thực thi, các sản phẩm từ điển Python sẽ chuyển thành Đối tượng [xem Bảng 1]. Các giá trị khác cũng được chuyển đổi tương ứng, ví dụ: Không thành null

Chuyển đổi chuỗi JSON thành từ điển Python

Dữ liệu JSON có thể được chuyển đổi thành từ điển Python bằng hàm loading[] trong json. Ví dụ

1

2

3

4

5

6

nhập json

sinh viên = '{"Tên". "Smith","Reg". 2719, "Hạng". 2}'

in[loại[học sinh]]

student_json = json. tải[học sinh]

in[student_json]

in[loại[student_json]]

đầu ra

{'Name': 'Smith', 'Reg': 2719, 'Grade': 2}

Hàm json. loading[] khi chuyển chuỗi “student” thành từ điển “student_json”. Đối với loại chuyển đổi json này,  đảm bảo bạn sử dụng dấu ngoặc kép bên trong chuỗi; . Ngoài ra, bạn có thể sử dụng hàm literal_eval trong ast module để chuyển đổi một chuỗi thành từ điển Python như sau

1

2

từ ast nhập literal_eval

student_json = literal_eval[student]

Kiểm tra xem JSON có Giá trị rỗng không

Suppose we want to look for products with empty values in some keys. Remember that you need to convert JSON data into a Python dictionary before using it as a regular dictionary. This is because JSON data format is of string [] datatype in Python. For this reason, we will work with a Python dictionary to check for empty values.

Các giá trị trống có thể xuất hiện ở các dạng khác nhau tùy thuộc vào ngữ cảnh, ví dụ: sử dụng Không, một chuỗi trống [” “], một danh sách trống [[ ]] hoặc một bộ hoặc thậm chí là giá trị Sai. Hãy xem một ví dụ

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

nhập json

# Từ điển Python

sản phẩm = {

"product1". {

     "giá". 45,

     "tên" . "kính 6B",

     "các loại" . ["A", "B"],

     "nhà sản xuất". Không có,

     "đã phê duyệt". Đúng,

     "danh mục". 67

     },

"product2". {

     "giá". "",

     "tên" . "trang phục 1XB",

     "các loại" . ["X", "B"],

     "nhà sản xuất". "Dệt ABC",

     "đã phê duyệt". Sai,

     "danh mục". 23

     },

"product3". {

     "giá". Không có,

     "tên" . "khởi động",

     "các loại" . [],

     "nhà sản xuất". "XYZ mặc",

     "đã phê duyệt". Đúng,

     "danh mục". ""

     }

}

# chuyển đổi từ điển Python sang định dạng dữ liệu JSON

obj = json. kết xuất[sản phẩm, thụt lề=3]

 

# Vòng qua các sản phẩm để kiểm tra các sản phẩm không có giá trị sản phẩm

cho sản phẩm trong sản phẩm.

# giá được chỉ định là "", [], Không có, 0 hoặc Sai được coi là thiếu

if products[product]["price"] in ["", [], None, 0, False]:

     in["Không có giá trị trong. ", sản phẩm]

khác.

     in["Giá trị giá đã chỉ định. ", sản phẩm]

đầu ra

Price value indicated:  product1
No price value in:  product2
No price value in:  product3

Trong đoạn mã trên, chúng tôi đã xác định từ điển sản phẩm Python và chuyển đổi nó thành định dạng JSON obj bằng cách sử dụng json. dumps[], nhưng khi lặp qua các sản phẩm, chúng tôi sử dụng từ điển chứ không phải JSON vì JSON thuộc kiểu dữ liệu chuỗi, như chúng tôi đã nói trước đó. Chúng tôi không phải chuyển từ điển Python sang JSON trong trường hợp này. Nếu bạn có JSON ngay từ đầu, bạn cần chuyển nó sang từ điển Python để làm việc với nó

Nếu bạn muốn kiểm tra xem có bất kỳ hoặc tất cả các sản phẩm có giá trị không, thì bạn có thể sử dụng bất kỳ và tất cả các hàm sẵn có trong python như sau

Làm cách nào để kiểm tra xem đối tượng JSON có hợp lệ trong python không?

Xác thực lược đồ JSON bằng Python .
Đầu tiên, cài đặt jsonschema bằng lệnh pip. pip cài đặt jsonschema
Xác định lược đồ. Mô tả loại JSON mà bạn mong đợi
Chuyển đổi JSON sang đối tượng Python bằng json. tải hoặc json. .
Truyền JSON kết quả cho phương thức xác thực [] của một jsonschema

Làm cách nào để kiểm tra xem chuỗi JSON có chứa khóa trong python không?

Chương trình Python để kiểm tra xem khóa có tồn tại trong chuỗi JSON không . convert the JSON string into a python dictionary by using 'json. loading[]' sau khi nhập mô-đun 'json'. Sau đó, bạn có thể kiểm tra xem một khóa có tồn tại trong từ điển hay không và nếu nó tồn tại, bạn có thể truy cập giá trị.

Chủ Đề