Làm cách nào để lấy giá trị khóa trong JSON Python?

Định dạng JSON ban đầu được lấy cảm hứng từ cú pháp của JavaScript (ngôn ngữ lập trình được sử dụng để phát triển web). Nhưng kể từ đó, nó đã trở thành một định dạng dữ liệu độc lập với ngôn ngữ và hầu hết các ngôn ngữ lập trình mà chúng ta sử dụng ngày nay đều có thể tạo và đọc JSON

Tầm quan trọng và các trường hợp sử dụng của JSON

JSON về cơ bản là một định dạng được sử dụng để lưu trữ hoặc biểu diễn dữ liệu. Các trường hợp sử dụng phổ biến của nó bao gồm các tệp cấu hình và phát triển web

Hãy xem tại sao

  • Phát triển web. JSON thường được sử dụng để gửi dữ liệu từ máy chủ đến máy khách và ngược lại trong các ứng dụng web
Làm cách nào để lấy giá trị khóa trong JSON Python?
  • tập tin cấu hình. JSON cũng được sử dụng để lưu trữ các cấu hình và cài đặt. Ví dụ: để tạo , bạn cần bao gồm tệp JSON có tên là
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    3 để chỉ định tên của ứng dụng, mô tả, phiên bản hiện tại cũng như các thuộc tính và cài đặt khác.  
Làm cách nào để lấy giá trị khóa trong JSON Python?

🔸 Cấu trúc và định dạng JSON

Bây giờ bạn đã biết định dạng JSON được sử dụng để làm gì, hãy xem cấu trúc cơ bản của nó với một ví dụ biểu thị dữ liệu của một đơn đặt hàng bánh pizza

{ 
	"size": "medium",
	"price": 15.67,
	"toppings": ["mushrooms", "pepperoni", "basil"],
	"extra_cheese": false,
	"delivery": true,
	"client": {
		"name": "Jane Doe",
		"phone": null,
		"email": "[email protected]"
	}
}
Mẫu. tập tin json

Đây là những đặc điểm chính của định dạng JSON

  • Có một chuỗi các cặp khóa-giá trị được bao quanh bởi dấu ngoặc nhọn
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    4
  • Mỗi khóa được ánh xạ tới một giá trị cụ thể bằng định dạng này
"key":  

💡 Mẹo. Các giá trị yêu cầu dấu ngoặc kép phải được bao quanh bởi dấu ngoặc kép

  • Các cặp khóa-giá trị được phân tách bằng dấu phẩy. Chỉ cặp cuối cùng không được theo sau bởi dấu phẩy
{
	"size": "medium", # Comma!
	"price": 15.67
}

💡 Mẹo. Chúng tôi thường định dạng JSON với các mức thụt đầu dòng khác nhau để giúp dữ liệu dễ đọc hơn. Trong bài viết này, bạn sẽ học cách thêm thụt lề tự động bằng Python

Các kiểu dữ liệu JSON. Khóa và Giá trị

Các tệp JSON có các quy tắc cụ thể xác định loại dữ liệu nào hợp lệ cho các khóa và giá trị

  • Các phím phải là chuỗi
  • Các giá trị có thể là một chuỗi, một số, một mảng, một giá trị boolean (
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    5/
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    6),
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    7 hoặc một đối tượng JSON

Theo

Các khóa trong cặp khóa/giá trị của JSON luôn thuộc loại. Khi một từ điển được chuyển đổi thành JSON, tất cả các khóa của từ điển sẽ bị ép thành chuỗi

Hướng dẫn mẫu

Theo Hướng dẫn về kiểu JSON của Google

  • Luôn chọn những cái tên có ý nghĩa
  • Các loại mảng nên có tên khóa số nhiều. Tất cả các tên khóa khác phải là số ít. Ví dụ. sử dụng
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    9 thay vì
    # Import the module
    import json
    
    # String with JSON format
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    
    # Convert JSON string to dictionary
    data_dict = json.loads(data_JSON)
    
    0 nếu giá trị tương ứng là một mảng
  • Không nên có nhận xét nào trong các đối tượng JSON

🔹 JSON so với. Từ điển Python

Thoạt nhìn, JSON và Từ điển có thể trông rất giống nhau (trực quan), nhưng chúng hoàn toàn khác nhau. Hãy xem cách chúng được "kết nối" và cách chúng bổ sung cho nhau để biến Python thành một công cụ mạnh mẽ để làm việc với các tệp JSON

JSON là định dạng tệp được sử dụng để biểu diễn và lưu trữ dữ liệu trong khi Từ điển Python là cấu trúc dữ liệu thực tế (đối tượng) được lưu trong bộ nhớ trong khi chương trình Python chạy

Cách từ điển JSON và Python hoạt động cùng nhau

Làm cách nào để lấy giá trị khóa trong JSON Python?

Khi chúng tôi làm việc với các tệp JSON trong Python, chúng tôi không thể đọc chúng và sử dụng trực tiếp dữ liệu trong chương trình của mình. Điều này là do toàn bộ tệp sẽ được biểu diễn dưới dạng một chuỗi và chúng tôi sẽ không thể truy cập từng cặp khóa-giá trị

Trừ khi

Chúng tôi sử dụng các cặp khóa-giá trị của tệp JSON để tạo từ điển Python mà chúng tôi có thể sử dụng trong chương trình của mình để đọc dữ liệu, sử dụng và sửa đổi dữ liệu đó (nếu cần)

Đây là kết nối chính giữa JSON và Từ điển Python. JSON là biểu diễn chuỗi của dữ liệu và từ điển là cấu trúc dữ liệu thực tế trong bộ nhớ được tạo khi chương trình chạy

Tuyệt. Bây giờ bạn đã biết thêm về JSON, hãy bắt đầu đi sâu vào các khía cạnh thực tế về cách bạn có thể làm việc với JSON trong Python

🔸 Mô-đun JSON

Thật may mắn cho chúng tôi, Python đi kèm với một mô-đun tích hợp có tên là

{
	"size": "medium", # Comma!
	"price": 15.67
}
8. Nó được cài đặt tự động khi bạn cài đặt Python và nó bao gồm các chức năng giúp bạn làm việc với các tệp và chuỗi JSON

Chúng tôi sẽ sử dụng mô-đun này trong các ví dụ sắp tới

Cách nhập Mô-đun JSON

Để sử dụng

{
	"size": "medium", # Comma!
	"price": 15.67
}
8 trong chương trình của mình, chúng ta chỉ cần viết một câu lệnh nhập ở đầu tệp

Như thế này

Làm cách nào để lấy giá trị khóa trong JSON Python?

Với dòng này, bạn sẽ có quyền truy cập vào các chức năng được xác định trong mô-đun. Chúng tôi sẽ sử dụng một vài trong số chúng trong các ví dụ

💡 Mẹo. Nếu bạn viết câu lệnh nhập này, bạn sẽ cần sử dụng cú pháp này để gọi một hàm được xác định trong mô-đun

{
	"size": "medium", # Comma!
	"price": 15.67
}
8

Làm cách nào để lấy giá trị khóa trong JSON Python?

🔹 Chuỗi Python và JSON

Để minh họa cách thức hoạt động của một số chức năng quan trọng nhất của mô-đun

{
	"size": "medium", # Comma!
	"price": 15.67
}
8, chúng tôi sẽ sử dụng một chuỗi nhiều dòng có định dạng JSON

Chuỗi JSON

Đặc biệt, chúng tôi sẽ sử dụng chuỗi này trong các ví dụ. Nó chỉ là một chuỗi Python nhiều dòng thông thường tuân theo định dạng JSON

data_JSON =  """
{
	"size": "Medium",
	"price": 15.67,
	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
	"client": {
		"name": "Jane Doe",
		"phone": "455-344-234",
		"email": "[email protected]"
	}
}
"""
Chuỗi JSON
  • Để xác định chuỗi nhiều dòng trong Python, chúng tôi sử dụng dấu ngoặc kép.  
  • Sau đó, chúng ta gán chuỗi cho biến
    # Import the module
    import json
    
    # String with JSON format
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    
    # Convert JSON string to dictionary
    data_dict = json.loads(data_JSON)
    
    5

💡 Mẹo. Khuyến nghị sử dụng ký tự trích dẫn kép cho chuỗi trích dẫn ba.  

Chuỗi JSON sang từ điển Python

Chúng tôi sẽ sử dụng chuỗi có định dạng JSON để tạo từ điển Python mà chúng tôi có thể truy cập, làm việc và sửa đổi

Để làm điều này, chúng ta sẽ sử dụng hàm

{
	"size": "medium", # Comma!
	"price": 15.67
}
9 của mô-đun
{
	"size": "medium", # Comma!
	"price": 15.67
}
8, chuyển chuỗi làm đối số

Đây là cú pháp cơ bản

Làm cách nào để lấy giá trị khóa trong JSON Python?

Đây là mã

# Import the module
import json

# String with JSON format
data_JSON =  """
{
	"size": "Medium",
	"price": 15.67,
	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
	"client": {
		"name": "Jane Doe",
		"phone": "455-344-234",
		"email": "[email protected]"
	}
}
"""

# Convert JSON string to dictionary
data_dict = json.loads(data_JSON)

Hãy tập trung vào dòng này

data_dict = json.loads(data_JSON)
  • # Import the module
    import json
    
    # String with JSON format
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    
    # Convert JSON string to dictionary
    data_dict = json.loads(data_JSON)
    
    8 tạo một từ điển mới với các cặp khóa-giá trị của chuỗi JSON và nó trả về từ điển mới này
  • Sau đó, từ điển trả về được gán cho biến
    # Import the module
    import json
    
    # String with JSON format
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    
    # Convert JSON string to dictionary
    data_dict = json.loads(data_JSON)
    
    9

Tuyệt vời. Nếu chúng ta in từ điển này, chúng ta sẽ thấy đầu ra này

{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}}

Từ điển đã được điền dữ liệu của chuỗi JSON. Mỗi cặp khóa-giá trị đã được thêm thành công

Bây giờ, hãy xem điều gì sẽ xảy ra khi chúng ta cố gắng truy cập các giá trị của các cặp khóa-giá trị với cùng một cú pháp mà chúng ta sẽ sử dụng để truy cập các giá trị của một từ điển Python thông thường

print(data_dict["size"])
print(data_dict["price"])
print(data_dict["toppings"])
print(data_dict["client"])

đầu ra là

Medium
15.67
['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil']
{'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}

Chính xác những gì chúng tôi mong đợi. Mỗi khóa có thể được sử dụng để truy cập giá trị tương ứng của nó

💡 Mẹo. Chúng ta có thể sử dụng từ điển này giống như bất kỳ từ điển Python nào khác. Ví dụ: chúng ta có thể gọi các phương thức từ điển, thêm, cập nhật và xóa các cặp khóa-giá trị, v.v. Chúng ta thậm chí có thể sử dụng nó trong vòng lặp for

JSON sang Python. Chuyển đổi loại

Khi bạn sử dụng

{
	"size": "medium", # Comma!
	"price": 15.67
}
9 để tạo từ điển Python từ chuỗi JSON, bạn sẽ nhận thấy rằng một số giá trị sẽ được chuyển đổi thành giá trị Python và kiểu dữ liệu tương ứng của chúng

Bảng này được trình bày trong mô-đun cho

{
	"size": "medium", # Comma!
	"price": 15.67
}
8 tóm tắt sự tương ứng giữa các loại và giá trị dữ liệu JSON với các loại và giá trị dữ liệu Python

Làm cách nào để lấy giá trị khóa trong JSON Python?
Bảng trình bày chính thức

💡 Mẹo. Bảng chuyển đổi tương tự áp dụng khi chúng tôi làm việc với các tệp JSON

Từ điển Python sang chuỗi JSON

Bây giờ bạn đã biết cách tạo từ điển Python từ chuỗi có định dạng JSON

Nhưng đôi khi chúng ta có thể cần phải làm hoàn toàn ngược lại, tạo một chuỗi có định dạng JSON từ một đối tượng (ví dụ: từ điển) để in, hiển thị, lưu trữ hoặc làm việc với nó dưới dạng một chuỗi

Để làm điều đó, chúng ta có thể sử dụng hàm

data_dict = json.loads(data_JSON)
2 của mô-đun
{
	"size": "medium", # Comma!
	"price": 15.67
}
8, truyền đối tượng làm đối số

Làm cách nào để lấy giá trị khóa trong JSON Python?

💡 Mẹo. Hàm này sẽ trả về một chuỗi

Đây là một ví dụ mà chúng tôi chuyển đổi từ điển Python

data_dict = json.loads(data_JSON)
4 thành một chuỗi có định dạng JSON và lưu trữ nó trong một biến

# Python Dictionary
client = {
    "name": "Nora",
    "age": 56,
    "id": "45355",
    "eye_color": "green",
    "wears_glasses": False
}

# Get a JSON formatted string
client_JSON = json.dumps(client)

Hãy tập trung vào dòng này

"key":  
0
  • data_dict = json.loads(data_JSON)
    5 tạo và trả về một chuỗi có tất cả các cặp khóa-giá trị của từ điển ở định dạng JSON
  • Sau đó, chuỗi này được gán cho biến
    data_dict = json.loads(data_JSON)
    6

Nếu chúng ta in chuỗi này, chúng ta sẽ thấy đầu ra này

"key":  
1

💡 Mẹo. Lưu ý rằng giá trị cuối cùng (

data_JSON =  """
{
	"size": "Medium",
	"price": 15.67,
	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
	"client": {
		"name": "Jane Doe",
		"phone": "455-344-234",
		"email": "[email protected]"
	}
}
"""
6) đã được thay đổi. Trong từ điển Python, giá trị này là
data_dict = json.loads(data_JSON)
8 nhưng trong JSON, giá trị tương đương là
data_JSON =  """
{
	"size": "Medium",
	"price": 15.67,
	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
	"client": {
		"name": "Jane Doe",
		"phone": "455-344-234",
		"email": "[email protected]"
	}
}
"""
6. Điều này giúp chúng tôi xác nhận rằng, thực sự, từ điển gốc hiện được biểu diễn dưới dạng một chuỗi có định dạng JSON

Nếu chúng ta kiểm tra kiểu dữ liệu của biến này, chúng ta sẽ thấy

"key":  
2

Vì vậy, giá trị trả về của hàm này chắc chắn là một chuỗi

Python sang JSON. Chuyển đổi loại

Quá trình chuyển đổi kiểu cũng xảy ra khi chúng ta chuyển từ điển thành chuỗi JSON. Bảng này từ minh họa các giá trị tương ứng

Làm cách nào để lấy giá trị khóa trong JSON Python?
Bảng từ

Cách in JSON bằng cách thụt lề

Nếu chúng ta sử dụng hàm

data_dict = json.loads(data_JSON)
2 và in chuỗi mà chúng ta có trong ví dụ trước, chúng ta sẽ thấy

"key":  
1

Nhưng điều này không phải là rất dễ đọc, phải không?

Chúng tôi có thể cải thiện khả năng đọc của chuỗi JSON bằng cách thêm thụt đầu dòng

Để thực hiện việc này một cách tự động, chúng ta chỉ cần truyền đối số thứ hai để chỉ định số lượng khoảng trắng mà chúng ta muốn sử dụng để thụt lề chuỗi JSON

Làm cách nào để lấy giá trị khóa trong JSON Python?

💡 Mẹo. đối số thứ hai phải là một số nguyên không âm (số khoảng trắng) hoặc một chuỗi. Nếu thụt lề là một chuỗi (chẳng hạn như

{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}}
1) thì chuỗi đó được dùng để thụt lề từng cấp ()

Bây giờ, nếu chúng ta gọi

data_dict = json.loads(data_JSON)
2 với đối số thứ hai này

"key":  
4

Kết quả của việc in

data_dict = json.loads(data_JSON)
6 là

"key":  
5

Điều đó thật tuyệt phải không? . Điều này sẽ rất hữu ích khi chúng ta bắt đầu làm việc với các tệp để lưu trữ dữ liệu ở định dạng mà con người có thể đọc được

Cách sắp xếp các phím

Bạn cũng có thể sắp xếp các phím theo thứ tự bảng chữ cái nếu cần. Để làm điều này, bạn chỉ cần viết tên của tham số

{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}}
4 và truyền giá trị
{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}}
5

Làm cách nào để lấy giá trị khóa trong JSON Python?

💡 Mẹo. Giá trị của

{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}}
4 là
data_dict = json.loads(data_JSON)
8 theo mặc định nếu bạn không chuyển giá trị

Ví dụ

"key":  
6

Trả về chuỗi này với các phím được sắp xếp theo thứ tự bảng chữ cái

"key":  
7

Cách sắp xếp theo thứ tự bảng chữ cái và thụt lề (đồng thời)

Để tạo một chuỗi JSON được sắp xếp theo thứ tự bảng chữ cái và thụt lề, bạn chỉ cần truyền hai đối số

Làm cách nào để lấy giá trị khóa trong JSON Python?

Trong trường hợp này, đầu ra là

"key":  
8

💡 Mẹo. Bạn có thể chuyển các đối số này theo bất kỳ thứ tự nào (tương đối với nhau), nhưng đối tượng phải là đối số đầu tiên trong danh sách

Tuyệt. Bây giờ bạn đã biết cách làm việc với các chuỗi JSON, vậy hãy xem cách bạn có thể làm việc với các tệp JSON trong chương trình Python của mình

🔸 JSON và tệp

Thông thường, JSON được sử dụng để lưu trữ dữ liệu trong các tệp, vì vậy Python cung cấp cho chúng tôi các công cụ cần thiết để đọc các loại tệp này trong chương trình của mình, làm việc với dữ liệu của chúng và ghi dữ liệu mới

💡 Mẹo. một tệp JSON có phần mở rộng

{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}}
8

Làm cách nào để lấy giá trị khóa trong JSON Python?

Hãy xem cách chúng ta có thể làm việc với các tệp

{'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}}
8 trong Python

Cách đọc tệp JSON bằng Python

Giả sử rằng chúng tôi đã tạo một tệp

print(data_dict["size"])
print(data_dict["price"])
print(data_dict["toppings"])
print(data_dict["client"])
0 với dữ liệu này đại diện cho hai đơn đặt hàng trong một cửa hàng bánh pizza

"key":  
9đơn hàng. json

Vui lòng dành chút thời gian để phân tích cấu trúc của tệp JSON này

Dưới đây là một số mẹo nhanh

  • Lưu ý các kiểu dữ liệu của các giá trị, thụt đầu dòng và cấu trúc tổng thể của tệp
  • Giá trị của khóa chính
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    9 là một mảng các đối tượng JSON (mảng này sẽ được biểu diễn dưới dạng danh sách trong Python). Mỗi đối tượng JSON chứa dữ liệu của một đơn hàng pizza

Nếu chúng ta muốn đọc tệp này bằng Python, chúng ta chỉ cần sử dụng câu lệnh

print(data_dict["size"])
print(data_dict["price"])
print(data_dict["toppings"])
print(data_dict["client"])
2

Làm cách nào để lấy giá trị khóa trong JSON Python?

💡 Mẹo. Theo cú pháp trên, chúng ta có thể gán bất kỳ tên nào cho

print(data_dict["size"])
print(data_dict["price"])
print(data_dict["toppings"])
print(data_dict["client"])
3 (hộp màu xanh lá cây). Đây là một biến mà chúng ta có thể sử dụng trong câu lệnh
print(data_dict["size"])
print(data_dict["price"])
print(data_dict["toppings"])
print(data_dict["client"])
2 để chỉ đối tượng tệp

Dòng mã chính trong cú pháp này là

{
	"size": "medium", # Comma!
	"price": 15.67
}
0
  • print(data_dict["size"])
    print(data_dict["price"])
    print(data_dict["toppings"])
    print(data_dict["client"])
    5 tạo và trả về một từ điển Python mới với các cặp khóa-giá trị trong tệp JSON
  • Sau đó, từ điển này được gán cho biến
    print(data_dict["size"])
    print(data_dict["price"])
    print(data_dict["toppings"])
    print(data_dict["client"])
    6

💡 Mẹo. Lưu ý rằng chúng tôi đang sử dụng

data_JSON =  """
{
	"size": "Medium",
	"price": 15.67,
	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
	"client": {
		"name": "Jane Doe",
		"phone": "455-344-234",
		"email": "[email protected]"
	}
}
"""
1 thay vì
{
	"size": "medium", # Comma!
	"price": 15.67
}
9. Đây là một chức năng khác trong mô-đun
{
	"size": "medium", # Comma!
	"price": 15.67
}
8. Bạn sẽ tìm hiểu thêm về sự khác biệt của chúng ở cuối bài viết này

Khi chúng tôi có nội dung của tệp JSON được lưu trữ trong biến

print(data_dict["size"])
print(data_dict["price"])
print(data_dict["toppings"])
print(data_dict["client"])
6 dưới dạng từ điển, về cơ bản chúng tôi có thể sử dụng nó để làm bất cứ điều gì chúng tôi muốn

ví dụ

Ví dụ, nếu chúng ta viết

{
	"size": "medium", # Comma!
	"price": 15.67
}
1

Đầu ra là

Medium
15.67
['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil']
{'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}
1 vì giá trị của khóa chính
data_JSON =  """
{
	"size": "Medium",
	"price": 15.67,
	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
	"client": {
		"name": "Jane Doe",
		"phone": "455-344-234",
		"email": "[email protected]"
	}
}
"""
9 là một danh sách có hai phần tử

Chúng ta cũng có thể sử dụng các phím để truy cập các giá trị tương ứng của chúng. Đây là những gì chúng tôi thường làm khi làm việc với các tệp JSON

Ví dụ: để truy cập phần trên cùng của đơn hàng đầu tiên, chúng tôi sẽ viết

{
	"size": "medium", # Comma!
	"price": 15.67
}
2
  • Đầu tiên, chúng tôi chọn khóa chính
    data_JSON =  """
    {
    	"size": "Medium",
    	"price": 15.67,
    	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
    	"client": {
    		"name": "Jane Doe",
    		"phone": "455-344-234",
    		"email": "[email protected]"
    	}
    }
    """
    9
  • Sau đó, chúng tôi chọn phần tử đầu tiên trong danh sách (chỉ số
    Medium
    15.67
    ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil']
    {'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}
    4)
  • Cuối cùng, chúng tôi chọn giá trị tương ứng với khóa
    Medium
    15.67
    ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil']
    {'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}
    5

Bạn có thể thấy "con đường" này bằng đồ họa trong sơ đồ

Làm cách nào để lấy giá trị khóa trong JSON Python?

Nếu chúng ta in giá trị này, đầu ra là

{
	"size": "medium", # Comma!
	"price": 15.67
}
3

Chính xác những gì chúng tôi mong đợi. Bạn chỉ cần "đi sâu" vào cấu trúc của từ điển bằng cách sử dụng các khóa và chỉ số cần thiết. Bạn có thể sử dụng tệp/chuỗi JSON gốc làm tài liệu tham khảo trực quan. Bằng cách này, bạn có thể truy cập, sửa đổi hoặc xóa bất kỳ giá trị nào

💡 Mẹo. Hãy nhớ rằng chúng tôi đang làm việc với từ điển mới. Những thay đổi được thực hiện đối với từ điển này sẽ không ảnh hưởng đến tệp JSON. Để cập nhật nội dung của tệp, chúng ta cần ghi vào tệp

Cách ghi vào tệp JSON

Hãy xem cách bạn có thể ghi vào tệp JSON

Dòng đầu tiên của câu lệnh

print(data_dict["size"])
print(data_dict["price"])
print(data_dict["toppings"])
print(data_dict["client"])
2 rất giống nhau. Thay đổi duy nhất là bạn cần mở tệp ở chế độ
Medium
15.67
['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil']
{'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}
7 (ghi) để có thể sửa đổi tệp

Làm cách nào để lấy giá trị khóa trong JSON Python?

💡 Mẹo. Nếu tệp chưa tồn tại trong thư mục làm việc hiện tại (thư mục), nó sẽ được tạo tự động. Bằng cách sử dụng chế độ

Medium
15.67
['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil']
{'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}
7, chúng tôi sẽ thay thế toàn bộ nội dung của tệp nếu nó đã tồn tại

Có hai cách khác để ghi vào tệp JSON trong phần thân của câu lệnh

print(data_dict["size"])
print(data_dict["price"])
print(data_dict["toppings"])
print(data_dict["client"])
2

  • # Python Dictionary
    client = {
        "name": "Nora",
        "age": 56,
        "id": "45355",
        "eye_color": "green",
        "wears_glasses": False
    }
    
    # Get a JSON formatted string
    client_JSON = json.dumps(client)
    0
  • data_dict = json.loads(data_JSON)
    2

Hãy xem chúng một cách chi tiết

Cách tiếp cận đầu tiên.

# Python Dictionary
client = {
    "name": "Nora",
    "age": 56,
    "id": "45355",
    "eye_color": "green",
    "wears_glasses": False
}

# Get a JSON formatted string
client_JSON = json.dumps(client)
0

Đây là một hàm có hai đối số

  • Đối tượng sẽ được lưu trữ ở định dạng JSON (ví dụ: từ điển)
  • Tệp nơi nó sẽ được lưu trữ (một đối tượng tệp)
Làm cách nào để lấy giá trị khóa trong JSON Python?

Giả sử cửa hàng bánh pizza muốn xóa dữ liệu của khách hàng khỏi tệp JSON và tạo một tệp JSON mới có tên là

# Python Dictionary
client = {
    "name": "Nora",
    "age": 56,
    "id": "45355",
    "eye_color": "green",
    "wears_glasses": False
}

# Get a JSON formatted string
client_JSON = json.dumps(client)
3 với phiên bản mới này

Chúng ta có thể làm điều này với mã này

{
	"size": "medium", # Comma!
	"price": 15.67
}
4

Đây là phiên bản gốc của dữ liệu trong tệp

print(data_dict["size"])
print(data_dict["price"])
print(data_dict["toppings"])
print(data_dict["client"])
0. Lưu ý rằng cặp khóa-giá trị
# Python Dictionary
client = {
    "name": "Nora",
    "age": 56,
    "id": "45355",
    "eye_color": "green",
    "wears_glasses": False
}

# Get a JSON formatted string
client_JSON = json.dumps(client)
5 tồn tại

{
	"size": "medium", # Comma!
	"price": 15.67
}
5đơn hàng. json

Đây là phiên bản mới trong tệp

# Python Dictionary
client = {
    "name": "Nora",
    "age": 56,
    "id": "45355",
    "eye_color": "green",
    "wears_glasses": False
}

# Get a JSON formatted string
client_JSON = json.dumps(client)
3

{
	"size": "medium", # Comma!
	"price": 15.67
}
6đơn đặt hàng_mới. json

Nếu bạn phân tích kỹ điều này, bạn sẽ thấy rằng cặp khóa-giá trị

# Python Dictionary
client = {
    "name": "Nora",
    "age": 56,
    "id": "45355",
    "eye_color": "green",
    "wears_glasses": False
}

# Get a JSON formatted string
client_JSON = json.dumps(client)
7 đã bị xóa khỏi tất cả các đơn đặt hàng

Tuy nhiên, có một cái gì đó thiếu trong tập tin này, phải không?

Hãy dành một chút thời gian để suy nghĩ về điều này. Nó có thể là gì?

Tất nhiên là thụt lề

Tệp không thực sự giống tệp JSON, nhưng chúng ta có thể dễ dàng khắc phục điều này bằng cách chuyển đối số

# Python Dictionary
client = {
    "name": "Nora",
    "age": 56,
    "id": "45355",
    "eye_color": "green",
    "wears_glasses": False
}

# Get a JSON formatted string
client_JSON = json.dumps(client)
8 thành
data_JSON =  """
{
	"size": "Medium",
	"price": 15.67,
	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
	"client": {
		"name": "Jane Doe",
		"phone": "455-344-234",
		"email": "[email protected]"
	}
}
"""
2

Làm cách nào để lấy giá trị khóa trong JSON Python?

Bây giờ nội dung của tập tin trông như thế này

{
	"size": "medium", # Comma!
	"price": 15.67
}
7đơn hàng_mới. json

Thật la khac biệt. Đây chính xác là những gì chúng tôi mong đợi một tệp JSON trông như thế nào

Bây giờ bạn đã biết cách đọc và ghi vào tệp JSON bằng cách sử dụng

data_JSON =  """
{
	"size": "Medium",
	"price": 15.67,
	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
	"client": {
		"name": "Jane Doe",
		"phone": "455-344-234",
		"email": "[email protected]"
	}
}
"""
1 và
data_JSON =  """
{
	"size": "Medium",
	"price": 15.67,
	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
	"client": {
		"name": "Jane Doe",
		"phone": "455-344-234",
		"email": "[email protected]"
	}
}
"""
2. Hãy xem sự khác biệt giữa các hàm này và các hàm mà chúng ta đã sử dụng để làm việc với các chuỗi JSON.  

🔹 tải() so với. tải ()

Bảng này tóm tắt sự khác biệt chính giữa hai chức năng này

Làm cách nào để lấy giá trị khóa trong JSON Python?

💡 Mẹo. Hãy coi

{
	"size": "medium", # Comma!
	"price": 15.67
}
9 là "chuỗi tải" và điều đó sẽ giúp bạn nhớ chức năng nào được sử dụng cho mục đích nào

🔸 kết xuất () so với. bãi ()

Ở đây chúng tôi có một bảng tóm tắt sự khác biệt chính giữa hai chức năng này

Làm cách nào để lấy giá trị khóa trong JSON Python?

💡 Mẹo. Hãy coi

data_JSON =  """
{
	"size": "Medium",
	"price": 15.67,
	"toppings": ["Mushrooms", "Extra Cheese", "Pepperoni", "Basil"],
	"client": {
		"name": "Jane Doe",
		"phone": "455-344-234",
		"email": "[email protected]"
	}
}
"""
0 như một "chuỗi kết xuất" và điều đó sẽ giúp bạn nhớ hàm nào được sử dụng cho mục đích gì

🔹 Thuật ngữ quan trọng trong JSON

Cuối cùng, có hai thuật ngữ quan trọng mà bạn cần biết để làm việc với JSON

  • Tuần tự hóa. chuyển đổi một đối tượng thành một chuỗi JSON
  • khử lưu huỳnh. chuyển đổi một chuỗi JSON thành một đối tượng

🔸 Tóm lại

  • JSON (Ký hiệu đối tượng JavaScript) là định dạng được sử dụng để biểu diễn và lưu trữ dữ liệu
  • Nó thường được sử dụng để truyền dữ liệu trên web và lưu trữ cài đặt cấu hình
  • Các tệp JSON có phần mở rộng
    {'size': 'Medium', 'price': 15.67, 'toppings': ['Mushrooms', 'Extra Cheese', 'Pepperoni', 'Basil'], 'client': {'name': 'Jane Doe', 'phone': '455-344-234', 'email': '[email protected]'}}
    8
  • Bạn có thể chuyển đổi các chuỗi JSON thành các đối tượng Python và ngược lại
  • Bạn có thể đọc các tệp JSON và tạo các đối tượng Python từ các cặp khóa-giá trị của chúng
  • Bạn có thể ghi vào các tệp JSON để lưu trữ nội dung của các đối tượng Python ở định dạng JSON

Tôi thực sự hy vọng bạn thích bài viết của tôi và thấy nó hữu ích. Bây giờ bạn đã biết cách làm việc với JSON trong Python. Theo dõi tôi trên Twitter @EstefaniaCassN và xem các khóa học trực tuyến của tôi

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Làm cách nào để lấy giá trị khóa trong JSON Python?
Estefania Cassingena Navone

Nhà phát triển, nhà văn kỹ thuật và người tạo nội dung @freeCodeCamp. Tôi chạy freeCodeCamp. org Kênh YouTube Español


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Cách lấy chìa khóa

Nhận tất cả khóa và giá trị từ đối tượng json trong Python .
{"emp_details". [ {"tên". "sự giúp đỡ". "123" }, {"tên". "đấu thầu". "345" } ] }
dữ liệu = json. tải (Tệp json)
jsonData = data["emp_details"] keys = x. keys() giá trị = x. .
nhập json với open("test. json") dưới dạng jsonFile. dữ liệu = json

Làm cách nào để kiểm tra khóa trong JSON Python?

Để truy cập các giá trị, bạn nên chuyển đổi chuỗi JSON thành từ điển python bằng cách sử dụng 'json. loads()' 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ị.

Làm cách nào để lấy các giá trị từ đối tượng JSON trong Python?

Thay vì phương thức tải JSON đọc chuỗi JSON, phương thức được sử dụng để đọc dữ liệu JSON trong tệp là load() . Phương thức load() chiếm một đối tượng tệp và trả về dữ liệu JSON được phân tích thành một đối tượng Python. Để lấy đối tượng tệp từ đường dẫn tệp, có thể sử dụng hàm open() của Python.

Làm cách nào để trích xuất khóa từ JSON?

Bây giờ, hãy thảo luận về các cách tiếp cận khác nhau để tìm nạp khóa từ JSON. .
3. 1. Sử dụng tên trường. Chúng ta có thể sử dụng phương thức fieldNames() trên phiên bản JsonNode để tìm nạp các tên trường lồng nhau. .
3. 2. Sử dụng JsonParser. Chúng ta cũng có thể sử dụng lớp JsonParser để phân tích cú pháp JSON cấp thấp. .
3. 3. Sử dụng bản đồ