Ví dụ tạo JSON JSON

{ 
  “surname”: “Edison”,
  “given_name”: “Thomas”,
  "middle_name": "Alva",  
  “age”: 84
}
[
  { 
    “given_name”: “Katherine”,
    “surname”: “Johnson”,
    “age”: 101
  },
  {
    “given_name”: “Ada”, 
    “surname”: “Lovelace”,
    “age”: 37
  } 
]

JSONPythonobjectarraystringnumbertrueTruefalseFalsenullNone

Phân tích cú pháp và trả về JSON

import json  
  
my_dictionary = {
    "name": "Alexander Graham Bell",
    "job_title": "CEO",
    "company_name": "Bell System",
    "age": 75,
    "emails": [{"email": "[email protected]", "type": "work"}],
    "my_neighbor": False
}
unformatted_json = json.dumps(my_dictionary)
print(unformatted_json)  

{"name": "Alexander Graham Bell", "job_title": "CEO","company_name": "Bell System", "age": 75, "emails": [{"email": "[email protected]", "type": "work"}], "my_neighbor": False}
formatted_json = json.dumps(
  pythonDict, 
  indent = 4, 
  separators = (“, ”, “ = “), 
  sort_keys = True
)
print(formatted_json)

{
    "age"= 75,
    "company_name" = "Bell System",
    "emails" = [
        {
        "email" = "[email protected]", 
        "type" = "work"
        }
    ],
    "job_title" = "CEO",
    "my_neighbor" = False,
    "name" = "Alexander Graham Bell"
}

#convert JSON into a python dictionary
pythonDict2 = json.loads(unformattedJSON)

#print out the value for key "job_title"
print("Individual key: job_title , value: " + pythonDict2["job_title"] +"\n")

#print out all keys and values
print("All keys and values: \n")
for key,value in pythonDict2.items():
    print("key:", key,",", "value:", value)

Individual key: job_title , value: Chief Scientist

All keys and values:

key: name , value: Alexander Graham Bell
key: job_title , value: CEO
key: company_name , value: Bell System
key: age , value: 75
key: emails , value: [{'email': '[email protected]', 'type': 'work'}]
key: my_neighbor , value: False

________số 8_______

namecompany_nameageAda LovelaceAlgo Prime37Thomas Alva EdisonBright Idea Technologies84

import csv
import json

#path to csv
contactsFile = r'Contacts.csv'

#Create an empty dictionary to collect values
contacts = {}
with open(contactsFile, encoding='utf-8') as csvFile:
    csvContent = csv.DictReader(csvFile)
    for row in csvContent:
        # Use the row that starts with name as the list of keys
        key = rows["name"]
        # Assign the all of the values in the row to the appropriate key
        contacts[key] = row
print(json.dumps(contacts, indent = 4)

[
  { 
    “given_name”: “Katherine”,
    “surname”: “Johnson”,
    “age”: 101
  },
  {
    “given_name”: “Ada”, 
    “surname”: “Lovelace”,
    “age”: 37
  } 
]
0

[
  { 
    “given_name”: “Katherine”,
    “surname”: “Johnson”,
    “age”: 101
  },
  {
    “given_name”: “Ada”, 
    “surname”: “Lovelace”,
    “age”: 37
  } 
]
1

[
  { 
    “given_name”: “Katherine”,
    “surname”: “Johnson”,
    “age”: 101
  },
  {
    “given_name”: “Ada”, 
    “surname”: “Lovelace”,
    “age”: 37
  } 
]
2
[
  { 
    “given_name”: “Katherine”,
    “surname”: “Johnson”,
    “age”: 101
  },
  {
    “given_name”: “Ada”, 
    “surname”: “Lovelace”,
    “age”: 37
  } 
]
3

[
  { 
    “given_name”: “Katherine”,
    “surname”: “Johnson”,
    “age”: 101
  },
  {
    “given_name”: “Ada”, 
    “surname”: “Lovelace”,
    “age”: 37
  } 
]
4

[
  { 
    “given_name”: “Katherine”,
    “surname”: “Johnson”,
    “age”: 101
  },
  {
    “given_name”: “Ada”, 
    “surname”: “Lovelace”,
    “age”: 37
  } 
]
5

[
  { 
    “given_name”: “Katherine”,
    “surname”: “Johnson”,
    “age”: 101
  },
  {
    “given_name”: “Ada”, 
    “surname”: “Lovelace”,
    “age”: 37
  } 
]
6

JSON là viết tắt của Ký hiệu đối tượng JavaScript. Mặc dù tên của nó chỉ ra rằng nó được liên kết với ngôn ngữ lập trình JavaScript, định dạng JSON không phụ thuộc vào ngôn ngữ và thường được sử dụng trong nhiều ngôn ngữ lập trình khác nhau

Tệp JSON là gì?

Các tệp JSON thường được sử dụng để truyền dữ liệu giữa các máy tính. Chẳng hạn, khi tải xuống một tệp từ API, bạn thường cần xử lý các tệp JSON. Đây là một bài viết hay giải thích việc tải xuống một tệp bằng Python từ API

Sau đây là một ví dụ về tệp JSON

{
	"employee": [
		{
			"FirstName": "John",
			"LastName": "Doe",
			"Age": "29",
			"Profession": "Engineer"

		},
		{
			"FirstName": "Jane",
			"LastName": "Doe",
			"Age": "27",
			"Profession": "Doctor"
		}
	]
}

Các tệp lưu trữ dữ liệu ở định dạng JSON được gọi là tệp JSON. Các tệp này dựa trên văn bản, con người có thể đọc được và dễ xử lý – tất cả đều khiến chúng trở nên rất phổ biến

Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển đổi một chuỗi thành JSON trong Python và cách tạo tệp JSON từ các đối tượng Python

Làm việc với các tệp JSON trong Python

Python có một thư viện tích hợp có tên là

>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
0 cung cấp các phương thức đơn giản và hiệu quả để làm việc với các tệp JSON. Hãy xem qua một số ví dụ minh họa cách chuyển đổi một chuỗi thành JSON trong Python và ngược lại

Từ JSON đến đối tượng Python. khử lưu huỳnh

Sau đây là một chuỗi JSON

>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'

Chúng ta có thể sử dụng phương thức

>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
1 của thư viện
>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
0 để chuyển đổi chuỗi này thành một đối tượng Python

>>> import json
>>> myobject = json.loads(example)

Chúng tôi vừa chuyển đổi dữ liệu được mã hóa JSON thành một đối tượng Python. Quá trình này được gọi là deserializing. Đối tượng Python kết quả là một từ điển. Một từ điển Python bao gồm các cặp khóa-giá trị và chúng ta có thể dễ dàng truy cập các mục của nó bằng các khóa. Ví dụ: nếu chúng tôi muốn truy cập vào

>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
3 trong từ điển
>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
4, chúng tôi viết

>>> myobject["FirstName"]

'John'

Nếu chúng ta có một tệp JSON và muốn biến nó thành một đối tượng Python, chúng ta có thể sử dụng phương thức

>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
5. Xem nhanh file JSON của “employee” ở đầu bài viết. Khối mã sau đọc tệp này và lưu nó vào từ điển Python

>>> with open("employee.json", "r") as read_file:
..     employee = json.load(read_file)
...
>>> print(employee)

{'employee': [{'FirstName': 'John', 'LastName': 'Doe', 'Age': '29', 'Profession': 'Engineer'}, {'FirstName': 'Jane', 'LastName': 'Doe', 'Age': '27', 'Profession': 'Doctor'}]}

Bây giờ

>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
6 là một đối tượng từ điển Python

Điều quan trọng là phải nhấn mạnh sự khác biệt giữa phương pháp

>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
8) và phương pháp
>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
1 của thư viện
>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
0. Phương thức tải được sử dụng để tạo đối tượng Python từ tệp JSON, trong khi phương thức
>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
1 chuyển đổi chuỗi JSON thành đối tượng Python

Từ đối tượng Python đến chuỗi JSON. tuần tự hóa

Giống như chúng ta có thể tạo đối tượng Python từ tệp JSON, chúng ta có thể chuyển đổi đối tượng Python thành chuỗi hoặc tệp JSON. Quá trình này được gọi là tuần tự hóa

Phương thức

>>> import json
>>> myobject = json.loads(example)
1 chuyển đổi từ điển Python thành chuỗi JSON. Trong phần khử lưu huỳnh, chúng tôi đã tạo một từ điển có tên là
>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
4. Nó có thể được chuyển đổi lại thành chuỗi JSON như sau

>>> json.dumps(myobject)
'{"FirstName": "John", "LastName": "Doe", "Age": 29, "Profession": "Engineer"}'

Đầu ra là một chuỗi (chú ý các dấu ngoặc đơn xung quanh dấu ngoặc nhọn), vì vậy chúng ta không thể truy cập một cặp khóa-giá trị cụ thể như chúng ta làm với từ điển

Chuỗi rất đơn giản này không khó đọc. Tuy nhiên, các chuỗi JSON có thể dài hơn nhiều và có các phần lồng vào nhau. Đối với những trường hợp như vậy, phương pháp

>>> import json
>>> myobject = json.loads(example)
1 cung cấp cách in dễ đọc hơn. Chúng tôi có thể in chuỗi này đẹp bằng cách đặt tham số thụt lề tùy chọn

>>> print(json.dumps(myobject, indent=3))

{
   "FirstName": "John",
   "LastName": "Doe",
   "Age": 29,
   "Profession": "Engineer"
}

Phương thức

>>> import json
>>> myobject = json.loads(example)
1 cũng có tham số để sắp xếp theo khóa

>>> print(json.dumps(myobject, indent=3, sort_keys=True))

{
   "Age": 29,
   "FirstName": "John",
   "LastName": "Doe",
   "Profession": "Engineer"
}

Các tệp JSON thường được sử dụng để tuần tự hóa (chọn), e. g. khi bạn muốn duy trì một số dữ liệu giữa các lần chạy ứng dụng của mình. Bạn có thể tìm hiểu thêm về tuần tự hóa đối tượng trong bài viết này

Tạo tệp JSON bằng kết xuất ()

Phương thức

>>> import json
>>> myobject = json.loads(example)
1 chuyển đổi đối tượng Python thành chuỗi có định dạng JSON. Chúng tôi cũng có thể tạo tệp JSON từ dữ liệu được lưu trữ trong từ điển Python. Phương pháp để thực hiện nhiệm vụ này là
>>> import json
>>> myobject = json.loads(example)
6

Hãy sử dụng phương pháp

>>> import json
>>> myobject = json.loads(example)
6 để tạo tệp JSON. Chúng tôi sẽ sử dụng từ điển nhân viên mà chúng tôi đã tạo trong phần trước

with open("new_employee.json", "w") as write_file:
    json.dump(employee, write_file, indent=4)

Thao tác này tạo một tệp có tên

>>> import json
>>> myobject = json.loads(example)
8 trong thư mục làm việc hiện tại của bạn và mở nó ở chế độ ghi. Sau đó, chúng tôi sử dụng phương pháp
>>> import json
>>> myobject = json.loads(example)
6 để tuần tự hóa một từ điển Python

Phương thức

>>> import json
>>> myobject = json.loads(example)
6 có hai đối số vị trí. Đối tượng đầu tiên là đối tượng lưu trữ dữ liệu sẽ được tuần tự hóa (ở đây, từ điển Python). Cái thứ hai là tệp để ghi dữ liệu được tuần tự hóa. Tham số
>>> myobject["FirstName"]

'John'
1 là tùy chọn

In trong dòng lệnh

Phương thức

>>> myobject["FirstName"]

'John'
2 của thư viện
>>> example = '{"FirstName":"John", "LastName":"Doe","Age":29, "Profession":"Engineer"}'
0 cho phép in các tệp JSON đẹp mắt trong dòng lệnh. Hãy thử nó trên tệp
>>> import json
>>> myobject = json.loads(example)
8 mà chúng tôi đã tạo trong phần trước

Bước đầu tiên là mở giao diện dòng lệnh. Sau đó, chúng ta cần thay đổi thư mục thành vị trí lưu tệp

>>> import json
>>> myobject = json.loads(example)
8

Lệnh sau sẽ in tệp JSON ở định dạng đẹp, rõ ràng

python -m json.tool new_employee.json

Hình ảnh sau đây cho thấy giao diện của nó trong dấu nhắc lệnh của Windows

Ví dụ tạo JSON JSON

Tìm hiểu thêm về JSON và Python

Chúng tôi đã giới thiệu cách đọc và ghi các tệp JSON bằng Python. Thư viện json tích hợp giúp bạn dễ dàng thực hiện cả hai điều này. Một trong những ưu điểm của Python là sự lựa chọn phong phú của các thư viện bên trong và bên thứ ba giúp đơn giản hóa hầu hết các tác vụ

Nếu bạn đang học hoặc dự định học Python, bài học Học lập trình với Python của chúng tôi là một cách tuyệt vời để bắt đầu. Nó được thiết kế cho người mới bắt đầu và có 5 khóa học tương tác. Ưu điểm của việc học với một khóa học tương tác là bạn được thực hành viết mã thực tế;

HọcPython. com cũng cung cấp toàn bộ khóa học dành riêng cho Tệp JSON trong Python. Khóa học cũng tương tác và có 35 bài tập. Nếu bạn muốn thực hành các khái niệm mà chúng ta đã thảo luận trong bài viết này, thì khóa học này là dành cho bạn. học tập vui vẻ

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

Trong Python, bạn có thể tạo chuỗi JSON bằng cách đơn giản gán một chuỗi ký tự JSON hợp lệ cho một biến hoặc chuyển đổi Đối tượng Python thành JSON . chức năng tải ().

Làm cách nào để tạo tệp JSON từ chuỗi trong Python?

Sử dụng json. hàm tải() . json. hàm loading() chấp nhận đầu vào là một chuỗi hợp lệ và chuyển đổi nó thành một từ điển Python. Quá trình này được gọi là deserialization – hành động chuyển đổi một chuỗi thành một đối tượng.

Làm cách nào để tạo JSON từ dict Python?

Phương pháp 1. Sử dụng hàm dump() . Hàm dumps() dùng để chuyển dict thành JSON python. Chúng ta có thể làm điều này bằng cách nhập mô-đun "JSON" giúp dễ dàng phân tích cú pháp các chuỗi JSON chứa đối tượng JSON.

Làm cách nào để thêm dữ liệu vào tệp JSON trong Python?

Phương pháp 1. sử dụng json. .
Nhập thư viện json với nhập json. .
Đọc tệp JSON trong cấu trúc dữ liệu bằng cách sử dụng data = json. .
Cập nhật cấu trúc dữ liệu Python với mục nhập mới (e. g. , một từ điển mới để thêm vào danh sách). .
Viết dữ liệu JSON đã cập nhật trở lại tệp JSON bằng json