Hướng dẫn how do i change the value of a json file in python? - làm cách nào để thay đổi giá trị của tệp json trong python?

Tôi đang cố cập nhật tệp JSON hiện có, nhưng từ một số lý do, giá trị được yêu cầu không được thay đổi nhưng toàn bộ tập hợp các giá trị [với giá trị mới] đang được thêm vào tệp gốc

jsonFile = open["replayScript.json", "r+"]
data = json.load[jsonFile]


tmp = data["location"]
data["location"] = "NewPath"

jsonFile.write[json.dumps[data]]

và kết quả là: Yêu cầu:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}

Actual:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}

Trong hướng dẫn này, bạn sẽ học các kỹ thuật xử lý JSON khác nhau như tải đối tượng JSON, Viết, Sắp xếp JSON hoặc Parse JSON, v.v.

JSON là viết tắt của ký hiệu đối tượng JavaScript đại diện cho dữ liệu có cấu trúc. Dữ liệu JSON được sử dụng để trao đổi thông tin.JavaScript Object Notation that represents structured data. JSON data is used to exchange information.

Trong Python, chúng ta có thể sử dụng JSON bằng cách nhập mô-đun Python tích hợp có tên là JSON. Mô -đun JSON mã hóa và giải mã dữ liệu JSON.

  • Tại sao sử dụng JSON?
  • Đọc tệp JSON
  • Nhận giá trị JSON
  • Cập nhật và xóa đối tượng JSON
  • Sắp xếp json
  • Tạo đối tượng JSON
  • Viết JSON vào tệp
  • Parse json
  • Phản đối JSON
  • JSON để phản đối
  • Byte cho JSON
  • Chuyển đổi HTML thành JSON
  • JSON đến SQL
  • Tải json [] vs tải []
  • Json dumps [] vs load []

Tại sao sử dụng JSON?

Đọc tệp JSON

Nhận giá trị JSON

Cập nhật và xóa đối tượng JSON

Syntax:

import json

Đọc tệp JSON

Nhận giá trị JSON

Cập nhật và xóa đối tượng JSONdeserialization. For instance, a JSON array is equivalent to a list in Python.

Sắp xếp json

Syntax:

data = json.load[object]
  • Tạo đối tượng JSON

Viết JSON vào tệp

Code:

{
	"date": "2021-07-17",
	"firstname": "Hamza",
	"lastname": "Sher",
	"city": "Kyoto",
	"array": [
	    "Carmela",
		"Ashlee",
		"Alisha"
	],
	"array of objects": [
		{
			"index": 0,
			"index start at 5": 5
		},
		{
			"index": 1,
			"index start at 5": 6
		},
		{
			"index": 2,
			"index start at 5": 7
		}
	]
}

Parse json

Code:

import json
jsonFile = open['jsonData.json']
data = json.load[jsonFile]
print[data]
jsonFile.close[]

Output:

Phản đối JSON

Syntax:

data = json.loads[jsonString]

Mã sau in chuỗi JSON:

Code:

import json
jsonData = '{"Name": "Hamza", "ID":"12345"}'
data = json.loads[jsonData]
print[data]

Output:

Nhận giá trị JSON

Các đối tượng JSON được xây dựng trong các cặp giá trị khóa làm cho nhận được một giá trị cụ thể từ đối tượng rất đơn giản. Chúng ta có thể sử dụng lập chỉ mục từ điển để truy cập giá trị được liên kết với khóa.

Syntax:

data['firstname']

Mã sau đây cho thấy cách chúng ta có thể sử dụng nó để có được kết quả mong muốn.

Code:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}
0

Output:

Cập nhật và xóa đối tượng JSON

Việc cập nhật một đối tượng JSON trong Python cũng đơn giản như sử dụng chức năng Cập nhật [] tích hợp từ gói JSON mà chúng tôi đã nhập.

Phương thức cập nhật được sử dụng để thêm một cặp giá trị khóa mới vào chuỗi JSON mà chúng tôi đã khai báo trong mã của chúng tôi. Chúng ta có thể thêm một cặp giá trị khóa duy nhất hoặc thêm toàn bộ từ điển sẽ được gắn vào chuỗi JSON trước đó.

Syntax:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}
1

Mã sau thực hiện phương thức cập nhật [].

Code:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}
2

Output:

Từ điển ‘Newdata, đã được thêm vào đối tượng‘ Jsondata. Đây là cách phương thức Update [] thực hiện chức năng của nó.

Di chuyển vào chức năng xóa. Không có chức năng tích hợp trong gói JSON để xóa một cặp giá trị khóa. Do đó, chúng tôi sẽ phải viết thêm một chút mã để thực hiện chức năng này.

Dưới đây là cách chúng ta có thể thực hiện xóa trên một đối tượng JSON. Hãy nhớ rằng chúng tôi đang sử dụng cùng một tệp JSON mà chúng tôi đã sử dụng và đã đề cập khi bắt đầu hướng dẫn này.

Code:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}
3

Output:

Chúng ta hãy xem những gì mà thực sự xảy ra ở đây. Khi chúng tôi đặt séc để xem ‘FirstName có tồn tại trong từ điển không, Python kiểm tra từ điển và nếu khóa tồn tại, chúng tôi có thể sử dụng từ khóa Del để xóa cặp giá trị khóa đó.

Sắp xếp json

Chúng ta có thể sắp xếp một đối tượng JSON theo thứ tự bảng chữ cái dựa trên các khóa. Để làm điều này, chúng tôi sử dụng phương thức json.dumps [] cùng với một vài đối số cho phương thức. Cú pháp để sử dụng phương pháp này như sau:

Syntax:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}
4

Ở đây chúng tôi chuyển hai đối số cho hàm json.dumps []. Cái đầu tiên ‘dữ liệu, chứa đối tượng JSON mà chúng tôi đã lưu trữ trong biến Python.

Thứ hai là đối số Sort_Keys, khi được đặt thành True, hãy sắp xếp dữ liệu theo thứ tự bảng chữ cái và trả về đối tượng JSON dưới dạng chuỗi. Mã sau sử dụng chức năng này:

Code:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}
5

Output:

Nhìn vào mã, nó khá dễ hiểu những gì đang xảy ra. Đầu tiên, chúng tôi đang tải dữ liệu và lưu trữ nó vào biến ‘dữ liệu, và đóng tệp sau đó.

Sau đó, trong một câu lệnh duy nhất, chúng tôi in dữ liệu được sắp xếp với sự trợ giúp của hàm json.dumps [] và sort_keys = đối số thật.

Tạo đối tượng JSON

Để tạo một đối tượng JSON, chúng ta cần có một từ điển Python sẽ chứa dữ liệu của chúng ta. Chúng tôi sẽ sử dụng cùng một phương thức như chúng tôi đã sử dụng trước đây, json.dump [] và json.loads []. Mã sau thực hiện chức năng này:

Code:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}
6

Output:

Ở đây chúng tôi xác định một số dữ liệu là từ điển Python. Sau đó, chúng tôi sử dụng phương thức json.dumps [] và truyền từ điển Python làm đối số.

Điều này chuyển đổi từ điển Python của chúng tôi thành một chuỗi có thể được chuyển sang phương thức json.Loads []. Sau đó, phương thức json.Loads [] chuyển đổi chuỗi này thành một đối tượng JSON và chúng ta có thể thấy đầu ra khi nó được in.

Viết JSON vào tệp

Để viết một đối tượng JSON vào tệp JSON, chúng ta có thể sử dụng phương thức json.dump []. Phương thức này lấy dữ liệu mà chúng tôi sẽ ghi vào tệp và cũng là tệp mà chúng tôi sẽ ghi dữ liệu vào. Mã sau đây giải thích làm thế nào chúng ta có thể làm điều đó!

Code:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}
7

Output:

Đầu tiên, chúng tôi mở tệp ở chế độ đọc và lưu trữ nội dung của tệp vào biến ‘dữ liệu. Sau đó, chúng tôi cập nhật ‘dữ liệu và thêm cặp giá trị khóa mới vào biến này.

Sau đó, chúng tôi mở tệp lại ở chế độ ghi. Chúng tôi sử dụng hàm json.dump [] và chuyển nó đến dữ liệu và tệp làm tham số và đóng tệp sau đó.

Đầu ra cho thấy dữ liệu đã được cập nhật và chúng tôi có thể xác nhận điều này bằng cách xem tệp JSON.

Parse json

Chúng ta có thể phân tích chuỗi JSON trong Python bằng cách sử dụng phương thức json.Loads []. Phương pháp này chuyển đổi chuỗi JSON thành từ điển Python có thể được lập chỉ mục dựa trên các khóa có trong từ điển.

Syntax:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}
8

Ở đây ‘Jsonstring, là chuỗi JSON được chuyển vào phương thức như một đối số. Phương pháp sẽ phân tích chuỗi JSON và trả về một từ điển Python có thể được lưu trữ thêm trong một biến.

Chúng tôi cũng có thể thực hiện tất cả các phương thức từ điển trên biến này. Mã sau đây thực hiện chức năng này.

Code:

{
   "location": "NewPath",
   "Id": "0",
   "resultDir": "",
   "resultFile": "",
   "mode": "replay",
   "className":  "",
   "method":  "METHOD"
}
9

Output:

Trong mã này, chúng tôi đang chuyển chuỗi JSON ‘Dữ liệu, làm đối số cho phương thức json.loads [] trả về một từ điển được lưu trữ trong biến‘ json_data. Tuyên bố in xác minh rằng phương thức đã chạy thành công.

Phản đối JSON

Các đối tượng Python có thể được chuyển đổi thành JSON bằng phương thức json.dumps [] tương tự mà chúng ta đã thảo luận trước đó. Hãy cùng xem cách làm điều này sẽ được thực hiện.

Code:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}
0

Output:

Trong mã này, trước tiên chúng tôi tạo một chiếc xe lớp và sau đó tạo một đối tượng của lớp này.

Sau đó, chúng tôi sẽ sử dụng hàm json.dumps [] và truyền đối tượng xe dưới dạng ‘xe .__ Dict__. ‘__Dict__, chuyển đổi tất cả các biến thành viên thành từ điển và chuyển nó sang phương thức json.dumps [].

Như chúng ta có thể thấy từ đầu ra, đối tượng đã được chuyển đổi thành JSON.

JSON để phản đối

Để chuyển đổi chuỗi JSON thành đối tượng Python, chúng ta sẽ cần một lớp có đối tượng chúng ta phải tạo và sử dụng phương thức json.Loads [] như sau:

Code:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}
1

Output:

Ở đây, chúng tôi đã tải dữ liệu vào biến ‘dữ liệu và sau đó chuyển từ điển này cho lớp xe làm đối số từ khóa. Chúng ta có thể thấy trong đầu ra mà đối tượng đã được tạo.

Byte cho JSON

Chuyển đổi chuỗi byte hoặc từ điển thành JSON rất đơn giản. Chúng ta chỉ cần sử dụng hàm json.dumps [] tích hợp.

Syntax:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}
2

Mã sau đây minh họa chức năng này.

Code:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}
3

Output:

Ở đây, trước tiên chúng tôi đã xác định một chuỗi byte và sau đó giải mã nó thành ‘bộ ký tự UTF-8. Sau đó, chúng tôi chỉ đơn giản là sử dụng json.dumps [] để chuyển đổi chuỗi thành chuỗi JSON.

Chuyển đổi HTML thành JSON

Để chuyển đổi HTML thành đối tượng JSON, chúng ta sẽ phải sử dụng một gói Python khác có tên là HTML-TO-JSON. Những gì gói này làm về cơ bản là lấy một tệp HTML và chuyển đổi nó thành một đối tượng JSON.

Chúng tôi có thể cài đặt gói này bằng cách sử dụng lệnh sau trong dấu nhắc lệnh hoặc thiết bị đầu cuối của chúng tôi:

Syntax:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}
4

Đầu tiên, chúng tôi cần nhập nó vào chương trình của chúng tôi.

Syntax:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}
5

Sau khi nhập bây giờ, chúng tôi có thể viết mã của mình để chuyển đổi tệp HTML thành đối tượng JSON. Đây là tệp HTML mẫu mà chúng tôi sẽ sử dụng:

Code:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}
6

Bây giờ, chúng tôi sẽ chuyển sang viết mã để chuyển đổi HTML này thành JSON.

Code:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}
7

Output:

Trong mã này, chúng tôi được sử dụng gói HTML-to-JSON để chuyển đổi HTML thành JSON. Chúng tôi đã sử dụng phương thức HTML_TO_JSON.CONVERT [] cho mục đích này và vượt qua chuỗi chứa HTML mong muốn.

JSON đến SQL

Để chuyển đổi một đối tượng JSON thành bảng SQL, hãy có thêm một vài bước so với chỉ sử dụng một phương thức. Ở đây chúng tôi đang sử dụng hai gói mới mà chúng tôi chưa sử dụng trước đây.

Đầu tiên là gói Pandas là một công cụ phân tích dữ liệu. Chúng tôi sẽ sử dụng nó để chuyển đổi đối tượng JSON của chúng tôi thành một khung dữ liệu gấu trúc.

Gói thứ hai là Sqlalchemy. Gói này là bộ công cụ cơ sở dữ liệu và một bản đồ liên quan đến đối tượng [ORM]. Ở đây, cách chúng tôi nhập có thể nhập các gói này:

Syntax:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}
8

Ở đây created_engine là một phương pháp giúp chúng tôi kết nối với cơ sở dữ liệu SQLite. Mã sau đây minh họa chức năng này:

Code:

{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className":  "",
"method":  "METHOD"
}
{
    "resultDir": "",
    "location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
    "method": "METHOD",
    "className": "",
    "mode": "replay",
    "Id": "0",
    "resultFile": ""
}
9

Khi chúng tôi chạy mã này, một cơ sở dữ liệu có tên ‘my_data.db, được tạo. Sau đó, dữ liệu được chèn vào cơ sở dữ liệu dưới tên bảng ‘sample_data.

Chúng tôi có thể xác nhận điều này bằng cách chạy các lệnh sau trong dấu nhắc lệnh hoặc thiết bị đầu cuối của chúng tôi:

Code:

import json
0

Tùy thuộc vào đối tượng JSON, bạn có thể thấy rằng bảng đã được tạo và dữ liệu đã được chèn.

Tải json [] vs tải []

Sự khác biệt giữa cả hai điều này là với phương thức Load [], chúng tôi chuyển tệp JSON làm đối số, và sau đó chúng tôi có thể lưu trữ nó trong một biến.pass the JSON file as the argument, and then we can store it in a variable.

Mặc dù phương thức tải [], chúng tôi vượt qua chuỗi JSON được định nghĩa là biến python và tuần tự hóa chuỗi đó thành một đối tượng JSON. Các mẫu mã sau hiển thị chức năng này. pass a JSON string that is defined as a Python variable and serializes that string into a JSON object. The following code samples display this functionality.

Mã: [load []]

import json
jsonFile = open['jsonData.json']
data = json.load[jsonFile]
print[data]
jsonFile.close[]

Output:

Mã: [tải []]

import json
jsonData = '{"Name": "Hamza", "ID":"12345"}'
data = json.loads[jsonData]
print[data]

Output:

Json dumps [] vs load []

Các phương thức json.loads [] và json.dumps [] là đối lập. Phương thức json.loads [] lấy một chuỗi và trả về một đối tượng JSON có thể được sử dụng thêm.takes a string and returns a JSON object that can be used further.

Trong khi đó, phương thức json.dumps [] lấy một đối tượng JSON và trả về một chuỗi chứa tất cả dữ liệu.takes a JSON object and returns a string that contains all of the data.

Các mẫu mã sau đây minh họa chức năng này:

Code:

import json
3

Output:

Tôi hy vọng bạn thích hướng dẫn. Hãy quay lại nhé.

MOKHTAR là người sáng lập của likeGeeks.com. Anh ta làm việc như một Quản trị viên hệ thống Linux & NBSP; kể từ năm 2010. Anh ta chịu trách nhiệm duy trì, bảo vệ và khắc phục sự cố các máy chủ Linux cho nhiều khách hàng trên thế giới. Anh ấy thích viết kịch bản Shell và Python để tự động hóa tác phẩm của mình.

Làm thế nào để bạn thay đổi một giá trị trong json python?

Việc cập nhật một đối tượng JSON trong Python cũng đơn giản như sử dụng chức năng Cập nhật [] tích hợp từ gói JSON mà chúng tôi đã nhập. Phương thức cập nhật được sử dụng để thêm một cặp giá trị khóa mới vào chuỗi JSON mà chúng tôi đã khai báo trong mã của chúng tôi.using the built-in update[] function from the json package we have imported. The update method is used to add a new key-value pair to the JSON string that we declared in our code.

Làm cách nào để thay đổi giá trị của tệp JSON?

Đầu tiên bạn sẽ cần chuyển đổi nó thành đối tượng JavaScript. Một đối tượng là một đối tượng, sau đó bạn chỉ có thể sử dụng ký hiệu DOT vào đối tượng để thay đổi các giá trị mà bạn muốn.Cuối cùng, bạn sẽ chuyển đổi đối tượng JavaScript đó thành chuỗi JSON.convert it to a JavaScript Object. Once it is an Object, then you can just use dot notation into the object to change the values that you want. Lastly, you would convert that JavaScript Object back into a JSON string.

Làm thế nào để bạn thao tác một tệp JSON trong Python?

Python có một mô -đun tích hợp cho phép bạn làm việc với dữ liệu JSON.Ở đầu tệp của bạn, bạn sẽ cần nhập mô -đun JSON.Nếu bạn cần phân tích một chuỗi JSON trả về từ điển, thì bạn có thể sử dụng JSON.phương thức tải [].At the top of your file, you will need to import the json module. If you need to parse a JSON string that returns a dictionary, then you can use the json. loads[] method.

Chúng ta có thể chỉnh sửa JSON trong Python không?

Có một số cách để cập nhật tệp JSON trong Python.Ở đây, tôi sẽ cung cấp cho bạn ví dụ rất đơn giản về tệp JSON chỉnh sửa bằng các hàm Open [], append [], dump [] và đóng [].Vì vậy, hãy xem một ví dụ đơn giản dưới đây: bạn có thể sử dụng các ví dụ này với phiên bản Python3 [Python 3].edit JSON file using open[], append[], dump[] and close[] functions. so let's see a simple example below: You can use these examples with python3 [Python 3] version.

Bài Viết Liên Quan

Chủ Đề