Tôi có một đối tượng JSON mà tôi được trả lại từ một cuộc gọi, tương tự như thế này:
{
'Tags': [
{
'Key': 'Dept',
'PropagateAtLaunch': True,
'ResourceId': 'my-auto-scaling-group',
'ResourceType': 'auto-scaling-group',
'Value': 'Research',
},
{
'Key': 'Role',
'PropagateAtLaunch': True,
'ResourceId': 'my-auto-scaling-group',
'ResourceType': 'auto-scaling-group',
'Value': 'WebServer',
},
{
'Key': 'ecs_scaling',
'PropagateAtLaunch': True,
'ResourceId': 'my-auto-scaling-group',
'ResourceType': 'auto-scaling-group',
'Value': 'true',
},
],
'ResponseMetadata': {
'...': '...',
},
}
Có cách nào đơn giản là xác định xem chính
data = json.loads[theThing]
for key in data.items[]:
...
5 có tồn tại hay không, ngoài tiêu chuẩn:data = json.loads[theThing]
for key in data.items[]:
...
Chìa khóa có thể là mục đầu tiên, nó có thể là mục thứ 40 - lý tưởng nhất là tôi muốn có thể làm một cái gì đó như
data = json.loads[theThing]
for key in data.items[]:
...
6? Trang chủ »Python» Json »Python Kiểm tra xem chính có tồn tại trong JSON không và lặp lại mảng JSONPython » JSON » Python Check if key exists in JSON and iterate the JSON array
Nhiều lần khóa JSON lồng nhau chứa một giá trị dưới dạng một mảng hoặc từ điển. Trong trường hợp này, nếu bạn cần tất cả các giá trị, chúng ta có thể lặp lại mảng JSON lồng nhau. Hãy cùng xem ví dụ.
- Vậy bạn nghĩ như thế nào?
- Tôi muốn nghe từ bạn. Bạn nghĩ gì về bài viết này? Hãy cho tôi biết bằng cách để lại một bình luận dưới đây.
- Ngoài ra, hãy cố gắng giải bài tập Python JSON để hiểu rõ hơn về việc làm việc với dữ liệu JSON trong Python.
Trong bài viết này, chúng ta sẽ xem cách thực hiện các hoạt động JSON sau đây bằng Python.
Kiểm tra xem khóa có tồn tại hay không trong JSON
student ={ "id":1, "name":"john wick", "class":8, "percentage":75, "email":"" }
Kiểm tra xem có giá trị cho khóa không và trả về giá trị mặc định nếu khóa bị thiếu:
import json
studentJson ="""{
"id": 1,
"name": "john wick",
"class": 8,
"percentage": 75,
"email": ""
}"""
print["Checking if percentage key exists in JSON"]
student = json.loads[studentJson]
if "percentage" in student:
print["Key exist in JSON data"]
print[student["name"], "marks is: ", student["percentage"]]
else:
print["Key doesn't exist in JSON data"]
Output::
Checking if percentage key exists in JSON Key exist in JSON data john wick marks is: 75
Lặp lại mảng json: We used
data = json.loads[theThing]
for key in data.items[]:
...
7 method to convert JSON encoded data into a Python dictionary. After turning JSON data into a dictionary, we can check if a key exists or not.Hãy cùng xem từng người một.
Hãy để giả sử rằng bạn đã nhận được các sinh viên sau đây, JSON. Và bạn muốn kiểm tra xem khóa tỷ lệ phần trăm có mặt hay không trong dữ liệu JSON. Nếu nó có mặt trực tiếp để truy cập giá trị của nó thay vì lặp lại toàn bộ JSON.
Ví dụ để kiểm tra xem có giá trị cho khóa trong JSON không
import json
studentJson ="""{
"id": 1,
"name": "john wick",
"class": null,
"percentage": 75,
"email": ""
}"""
student = json.loads[studentJson]
if not [student.get['email'] is None]:
print["value is present for given JSON key"]
print[student.get['email']]
else:
print["value is not present for given JSON key"]
Output::
value is present for given JSON key
Trả về giá trị mặc định nếu khóa bị thiếu
Hãy để xem cách sử dụng giá trị mặc định nếu giá trị không có cho khóa. Như bạn đã biết, phương thức
data = json.loads[theThing]
for key in data.items[]:
...
8 chuyển đổi dữ liệu JSON thành Python data = json.loads[theThing]
for key in data.items[]:
...
9 để chúng ta có thể sử dụng phương thức GET của lớp data = json.loads[theThing]
for key in data.items[]:
...
9 để gán giá trị mặc định cho khóa nếu thiếu giá trị.import json
studentJson ="""{
"id": 1,
"name": "john wick",
"class": null,
"percentage": 75,
"email": ""
}"""
student = json.loads[studentJson]
if not [student.get['subject'] is None]:
print["value is present for given JSON key"]
print[student.get['subject']]
else:
print["using a default value for a given key"]
print[student.get['subject', 'Science']]
Đầu ra
value is not present for given JSON key using a default value for a given key Science
Python tìm thấy nếu khóa lồng nhau tồn tại trong JSON
Hầu hết thời gian, JSON chứa rất nhiều phím lồng nhau. Hãy cùng xem cách truy cập trực tiếp vào các cặp giá trị khóa lồng nhau từ JSON. Hãy để giả sử bạn có dữ liệu JSON sau. Và bạn muốn kiểm tra và truy cập giá trị của các điểm khóa lồng nhau.marks.
{ "class":{ "student":{ "name":"jhon", "marks":{ "physics":70, "mathematics":80 } } } }
Ví dụ 1: Truy cập khóa lồng nhau trực tiếp
Nếu bạn biết rằng bạn luôn có khóa cha mẹ, thì bạn có thể truy cập trực tiếp khóa JSON lồng nhau. Trong trường hợp này, chúng tôi luôn có các khóa ‘lớp‘ và ‘sinh viên‘ để chúng tôi có thể truy cập trực tiếp vào các dấu khóa lồng nhau.
data = json.loads[theThing]
for key in data.items[]:
...
0Đầu ra
data = json.loads[theThing]
for key in data.items[]:
...
1Python tìm thấy nếu khóa lồng nhau tồn tại trong JSON
Hầu hết thời gian, JSON chứa rất nhiều phím lồng nhau. Hãy cùng xem cách truy cập trực tiếp vào các cặp giá trị khóa lồng nhau từ JSON. Hãy để giả sử bạn có dữ liệu JSON sau. Và bạn muốn kiểm tra và truy cập giá trị của các điểm khóa lồng nhau.
data = json.loads[theThing]
for key in data.items[]:
...
2Ví dụ 1: Truy cập khóa lồng nhau trực tiếp
Nếu bạn biết rằng bạn luôn có khóa cha mẹ, thì bạn có thể truy cập trực tiếp khóa JSON lồng nhau. Trong trường hợp này, chúng tôi luôn có các khóa ‘lớp‘ và ‘sinh viên‘ để chúng tôi có thể truy cập trực tiếp vào các dấu khóa lồng nhau.
data = json.loads[theThing]
for key in data.items[]:
...
3Output::
data = json.loads[theThing]
for key in data.items[]:
...
4Ví dụ 2: Truy cập khóa lồng nhau bằng cách sử dụng câu lệnh student ={
"id":1,
"name":"john wick",
"class":8,
"percentage":75,
"email":""
}
1 lồng nhau
Nếu bạn không chắc chắn liệu bạn có luôn có khóa chính của cha mẹ hay không, trong những trường hợp như vậy, chúng ta cần truy cập JSON lồng nhau bằng cách sử dụng câu lệnh Nested IF, để tránh mọi ngoại lệ.leaving a comment below.
Lặp lại mảng json