以下是一个遍历JSON对象的示例代码,以获取键作为列名:
import json
def get_column_names(json_obj):
column_names = set()
def traverse_json(obj):
if isinstance(obj, dict):
for key, value in obj.items():
column_names.add(key)
traverse_json(value)
elif isinstance(obj, list):
for item in obj:
traverse_json(item)
traverse_json(json_obj)
return column_names
# 示例JSON对象
json_str = '''
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
},
"hobbies": ["reading", "playing guitar"]
}
'''
# 将JSON字符串解析为Python对象
json_obj = json.loads(json_str)
# 获取列名
column_names = get_column_names(json_obj)
print(column_names)
输出结果:
{'name', 'age', 'address', 'street', 'city', 'hobbies'}
这段代码定义了一个get_column_names
函数,它使用递归的方式遍历JSON对象。对于每个键值对,它将键添加到一个集合中。最后,返回包含所有列名的集合。
在示例中,我们将一个JSON字符串解析为Python对象,并调用get_column_names
函数来获取列名。最后,打印出列名集合。
上一篇:遍历JSON对象图的建议
下一篇:遍历JSON对象以获取特定值