-4
通過data = json.load(fp)
從文件加載JSON後,我想遍歷那名在JSON,排除當然所有特殊的Python符號的所有項目。 這是如何正確完成的?遍歷所有項目中JSON對象
通過data = json.load(fp)
從文件加載JSON後,我想遍歷那名在JSON,排除當然所有特殊的Python符號的所有項目。 這是如何正確完成的?遍歷所有項目中JSON對象
data
應該是在這一點上一個普通的集合,所以你迭代它你會遍歷任何其他列表/字典/無論以同樣的方式。來自load
的事實不會對您造成任何額外要求。
下面是一個使用loads
一個例子,這在原則上是相似的:
結果:
1
2
3
編輯:如果你問「怎麼我遍歷所有在我的數據值,包括那些包含內部深層嵌套集合「,那麼你可以這樣做:
import json
my_json_data = """[
1,
{
"2": 3,
"4": [
"5",
"6",
"7"
]
},
8,
9
]"""
def recursive_iter(obj):
if isinstance(obj, dict):
for item in obj.values():
yield from recursive_iter(item)
elif any(isinstance(obj, t) for t in (list, tuple)):
for item in obj:
yield from recursive_iter(item)
else:
yield obj
data = json.loads(my_json_data)
for item in recursive_iter(data):
print(item)
結果:
1
5
6
7
3
8
9
你是什麼 「特殊的Python符號」 是什麼意思?按照定義,json只保存對應於'int','str','list','dict'等的原始數據類型。除此之外的任何內容都只能作爲任意的'str'內容,而不能解釋。 – MisterMiyagi
「正確」是什麼意思?你有一個Python字典(或列表),所以你將如何迭代或訪問? –