我正在看W3学校的示例,将JSON转换为Python
https://www.w3schools.com/python/python_json.asp
import json
# some JSON:
x = '{ "name":"John", "age":30, "city":"New York"}'
# parse x:
y = json.loads(x)
# the result is a Python dictionary:
print(y["age"])
我正在尝试使用键,值对进行打印
import json
def emp_data(**args):
emp= '{ "name":"John", "age":30, "city":"New York"}'
# parse x:
jsonObject = json.loads(emp)
# the result is a Python dictionary:
for key in jsonObject:
for value in jsonObject['name'], ['city'],['age']:
print()
print(key, jsonObject['name'], jsonObject['city'],jsonObject['age'])
emp_data()
结果不一致,不能打印所有键。
age John New York 30
我尝试将无法解决问题的问题分开
print(key, jsonObject['name'])
print(key, jsonObject['city'])
print(key, jsonObject['age'])
我尝试了**args
,还有什么可以尝试的吗?
答案 0 :(得分:0)
我不确定您要实现什么,但是我的理解是您正在尝试将key-value
对打印在一起。正如@jonrsharpe所提到的,字典不是有序结构,问题在于循环。
如果要打印key-value
对,可以执行以下操作:
import json
def emp_data(**args):
emp= '{ "name":"John", "age":30, "city":"New York"}'
# parse x:
jsonObject = json.loads(emp)
# the result is a Python dictionary:
# As @Iluvatar mentioned, you can iterate over both key and value
for key,val in jsonObject.items():
print key + ',' + str(jsonObject[key])
结果将是(按某种顺序):
city, New York
age, 30
name, John
再次查看字典可能是个好主意。我认为您在了解中缺少一些东西。