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

Tôi đang làm việc trong một dự án trong đó Raspberry Pi điều khiển một số máy bơm 12V để cuối cùng làm cocktail. Điều này đang chạy trong bình, trên một máy chủ web địa phương [PI]. Có nhiều chai rượu với ống được ghép với máy bơm và máy bơm được điều khiển thông qua các chân GPIO trên PI. Tất cả điều này hoạt động khá tốt.

Tôi muốn thêm một chức năng ngăn cản tôi sản xuất một ly cocktail nếu khả năng của rượu còn lại trong chai liên quan là không đủ. Tôi đã chọn tạo tệp .json vì nó nhẹ và phù hợp với nhu cầu của tôi. Một đối tượng trong tệp .json của tôi trông như thế này:

"vodka": {
    "id":"3",
    "milliliters":1000,
    "fullness":500,
    "available": true
}

Trường hợp 'mililiter' đại diện cho khả năng của một chai đầy đủ và 'đầy đủ', bao nhiêu còn lại trong chai.

Nó 'đọc' các giá trị và lưu trữ chúng trong một biến Python như:

x = open[data.json"]
drinks = json.load[x]

vodkaBottleCapacity = [drinks['vodka']['milliliters']]
vodkaBottleLeft = [drinks['vodka']['fullness']]

Tôi đã kiểm tra nếu điều này hoạt động bằng cách sử dụng đơn giản:

print[vodkaBottleCapacity]
print[vodkaBottleLeft]

Điều này mang lại cho tôi đầu ra sau, xác nhận rằng nó đã làm chính xác những gì tôi muốn nó làm:

1000
500

Bây giờ nếu tôi để nó làm cho tôi một loại cocktail sử dụng 50ml [50] vodka, tôi muốn một tập lệnh Python để chỉnh sửa giá trị "đầy đủ" bằng cách trừ đi số lượng tương ứng [50 trong trường hợp này].

Tôi đang bị mắc kẹt vào thời điểm này. Tôi đã cố gắng sử dụng chức năng json.dump như thế này:

y = {'milliliters':1000} 
x = open[/path/to/data.json"]
json.dump[y, x]
x.close[]

Nhưng điều này cho tôi lỗi sau trong thiết bị đầu cuối:

fp.write[chunk]
io.UnsupportedOperation: not writable

Tôi đang làm điều này sai và tôi thậm chí có thể đi sai đường để tôi có thể đánh giá cao sự giúp đỡ của bạn!

JSON là một cú pháp để lưu trữ và trao đổi dữ liệu.

JSON là văn bản, được viết với ký hiệu đối tượng JavaScript.

JSON trong Python

Python có một gói tích hợp có tên json, có thể được sử dụng để làm việc với dữ liệu JSON.

Thí dụ

Nhập mô -đun JSON:

Nhập JSON

Parse JSON - Chuyển đổi từ JSON sang Python

Nếu bạn có chuỗi JSON, bạn có thể phân tích nó bằng cách sử dụng phương thức json.loads[].

Thí dụ

Chuyển đổi từ JSON sang Python:

Nhập JSON

# một số json: x = & nbsp; '{"Tên": "John", "Tuổi": 30, "Thành phố": "New York"}'
x =  '{ "name":"John", "age":30, "city":"New York"}'

# parse x: y = json.loads [x]
y = json.loads[x]

# Kết quả là một từ điển Python: in [y ["tuổi"]]]
print[y["age"]]

Hãy tự mình thử »

Chuyển đổi từ Python sang JSON

Nếu bạn có một đối tượng Python, bạn có thể chuyển đổi nó thành chuỗi JSON bằng cách sử dụng phương thức json.dumps[].

Thí dụ

Chuyển đổi từ Python sang JSON:

Nhập JSON

# một số json: x = & nbsp; '{"Tên": "John", "Tuổi": 30, "Thành phố": "New York"}'
x = {
  "name": "John",
  "age": 30,
  "city": "New York"
}

# parse x: y = json.loads [x]
y = json.dumps[x]

# Kết quả là một từ điển Python: in [y ["tuổi"]]]
print[y]

Hãy tự mình thử »

Chuyển đổi từ Python sang JSON

  • Nếu bạn có một đối tượng Python, bạn có thể chuyển đổi nó thành chuỗi JSON bằng cách sử dụng phương thức json.dumps[].
  • Chuyển đổi từ Python sang JSON:
  • # một đối tượng python [dict]: x = {& nbsp; "Tên": "John", & nbsp; "Tuổi": 30, & NBSP; "Thành phố": "New York"}
  • # Chuyển đổi thành json: y = json.dumps [x]
  • int
  • float
  • # Kết quả là chuỗi JSON: print [y]
  • Bạn có thể chuyển đổi các đối tượng Python của các loại sau, thành chuỗi JSON:
  • DIGN

Thí dụ

danh sách

Nhập JSON

# một số json: x = & nbsp; '{"Tên": "John", "Tuổi": 30, "Thành phố": "New York"}'
print[json.dumps[["apple", "bananas"]]]
print[json.dumps[["apple", "bananas"]]]
print[json.dumps["hello"]]
print[json.dumps[42]]
print[json.dumps[31.76]]
print[json.dumps[True]]
print[json.dumps[False]]
print[json.dumps[None]]

Hãy tự mình thử »

Chuyển đổi từ Python sang JSON

Nếu bạn có một đối tượng Python, bạn có thể chuyển đổi nó thành chuỗi JSON bằng cách sử dụng phương thức json.dumps[].Chuyển đổi từ Python sang JSON:
# một đối tượng python [dict]: x = {& nbsp; "Tên": "John", & nbsp; "Tuổi": 30, & NBSP; "Thành phố": "New York"}# Chuyển đổi thành json: y = json.dumps [x]
# Kết quả là chuỗi JSON: print [y]Bạn có thể chuyển đổi các đối tượng Python của các loại sau, thành chuỗi JSON:
DIGNBạn có thể chuyển đổi các đối tượng Python của các loại sau, thành chuỗi JSON:
DIGNdanh sách
Tuplesợi dây
ĐÚNG VẬYsợi dây
ĐÚNG VẬYSai
Không cóChuyển đổi các đối tượng Python thành chuỗi JSON và in các giá trị:
in [json.dumps [{"name": "john", "tuổi": 30}]] in [json.dumps [["apple", "chuối"]]] in [json.dumps [["apple" . [Sai]] In [json.dumps [none]]Khi bạn chuyển đổi từ Python sang JSON, các đối tượng Python được chuyển đổi thành tương đương JSON [JavaScript]:

Thí dụ

Python

Nhập JSON

Json
  "name": "John",
  "age": 30,
  "married": True,
  "divorced": False,
  "children": ["Ann","Billy"],
  "pets": None,
  "cars": [
    {"model": "BMW 230", "mpg": 27.5},
    {"model": "Ford Edge", "mpg": 24.1}
  ]
}

print[json.dumps[x]]

Hãy tự mình thử »

Chuyển đổi từ Python sang JSON

Nếu bạn có một đối tượng Python, bạn có thể chuyển đổi nó thành chuỗi JSON bằng cách sử dụng phương thức json.dumps[].

Chuyển đổi từ Python sang JSON:

Thí dụ

# một đối tượng python [dict]: x = {& nbsp; "Tên": "John", & nbsp; "Tuổi": 30, & NBSP; "Thành phố": "New York"}

# Chuyển đổi thành json: y = json.dumps [x]

Hãy tự mình thử »

Chuyển đổi từ Python sang JSON

Thí dụ

Nếu bạn có một đối tượng Python, bạn có thể chuyển đổi nó thành chuỗi JSON bằng cách sử dụng phương thức json.dumps[].

Chuyển đổi từ Python sang JSON:

Hãy tự mình thử »

Chuyển đổi từ Python sang JSON

Nếu bạn có một đối tượng Python, bạn có thể chuyển đổi nó thành chuỗi JSON bằng cách sử dụng phương thức json.dumps[].

Thí dụ

Chuyển đổi từ Python sang JSON:

# một đối tượng python [dict]: x = {& nbsp; "Tên": "John", & nbsp; "Tuổi": 30, & NBSP; "Thành phố": "New York"}

Hãy tự mình thử »


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.

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.

Làm thế nào để bạn thêm một trường vào một đối tượng JSON trong Python?

Cách thêm một phần tử vào đối tượng JSON trong Python..
Fruit_json = {"Apple": 1, "Orange": 2}.
khóa = "chuối".
Giá trị = 3 ..
Fruit_json [khóa] = giá trị ..
print[fruit_json].

Bài Viết Liên Quan

Chủ Đề