如何打印json数据

时间:2016-09-13 09:44:14

标签: python json python-3.x

我有以下json文件和python代码,我需要输出示例...

json文件

{"b": [{"1": "add"},{"2": "act"}],
"p": [{"add": "added"},{"act": "acted"}],
"pp": [{"add": "added"},{"act": "acted"}],
"s": [{"add": "adds"},{"act": "acts"}],
"ing": [{"add": "adding"},{"act": "acting"}]}

import json
data = json.load(open('jsonfile.json'))
#print data

输出示例

>> b
>> p
>> pp
>> s
>> ing

任何想法如何做到这一点?

4 个答案:

答案 0 :(得分:4)

这与JSON没有任何关系。你有一本字典,并且你想要打印密钥,你可以使用transform: [{ rotateY: '-180deg' }],

答案 1 :(得分:2)

只需在打印调用中将keys*解包,即可将密钥作为print的位置参数;如果您希望每个键位于不同的行,请使用sep = '\n'

print(*data.keys(), sep= '\n')

这将打印出来:

b
pp
p
ing
s

如@WayneWerner print(*data, sep='\n')所述,实际上就像调用data.keys()并获得相同的结果。

答案 2 :(得分:2)

这是一个工作示例(它使用io.StringIO模拟您的文件):

import json
import io

jsonfile_json = io.StringIO("""
{
    "b": [{"1": "add"}, {"2": "act"}],
    "p": [{"add": "added"}, {"act": "acted"}],
    "pp": [{"add": "added"}, {"act": "acted"}],
    "s": [{"add": "adds"}, {"act": "acts"}],
    "ing": [{"add": "adding"}, {"act": "acting"}]
}
""")

data = json.load(jsonfile_json)

for k in data.keys():
    print(k)

如您所见,您的问题的答案是使用keys()方法

答案 3 :(得分:2)

为了完整起见:

d = {'p': 'pstuff', 'pp': 'ppstuff', 'b': 'bstuff', 's': 'sstuff'}
print('\n'.join(d))

适用于任何版本的Python。如果您关心订单:

print('\n'.join(sorted(d)))

虽然说实话,我可能会采用Jim的方法:

print(*d, sep='\n'))