在Python 3.4.4中从json文件获取数据

时间:2018-07-03 11:01:18

标签: json python-3.x

如何从json文件中获取数据?

就像,我有一个json,内容是:

{Key:"MyValue",KeyTwo:{KeyThree:"Value Two"}}

2 个答案:

答案 0 :(得分:1)

好的,首先,JSON字符串必须使用双引号。 JSON python库强制执行此操作,因此您无法加载字符串。您的数据需要看起来像这样:

{"Key":"MyValue","KeyTwo":{"KeyThree":"Value Two"}}

然后您可以尝试以下方法:

import json

data = json.load(open("file_name.json"))

for x in data:
    print("%s: %s" % (x, data[x]))

答案 1 :(得分:0)

首先,如下修改您的JSON数据。假设它在 Data.json 中。

{"Key":"MyValue","KeyTwo":{"KeyThree":"Value Two"}}

现在,您可以尝试以下代码。

import json

with open('Data.json', 'r') as f:
    data = f.read().strip();

# String
print(data)
print(type(data))
"""
{"Key":"MyValue","KeyTwo":{"KeyThree":"Value Two"}}
<type 'str'>
"""

# 1st way
dict1 = eval(data) # KeyError, if your JSON data is not in correct form
print(dict1)
print(type(dict1))
"""
    {'KeyTwo': {'KeyThree': 'Value Two'}, 'Key': 'MyValue'}
    <type 'dict'>
"""

# 2nd way
dict2 = json.loads(data) # ValueError, if your JSON data is not in correct form
print(dict2)
print(type(dict2))
"""
    {u'KeyTwo': {u'KeyThree': u'Value Two'}, u'Key': u'MyValue'}
    <type 'dict'>
"""