尝试打印从json文件加载的值时出现TypeError错误

时间:2019-03-27 17:49:56

标签: python python-3.x

当尝试使用python从json文件中打印值时,出现TypeError错误。

我正在尝试从下面的json文件中的爱好中检索一项

{"name": "Jason",
"hobbies": ["music", "programming", "games"],
"job": "Software Developer"}

使用以下代码

import json
with open('input.json', 'r') as input:
    obj = json.load(input)
    print('Hello, ' + obj['hobbies'])

我遇到以下错误,不确定如何从列表中检索

  

TypeError:只能将str(而不是“ list”)连接到str

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:2)

这将起作用:

import json
with open('input.json', 'r') as input:
    obj = json.load(input)
    #make it a string
    print('Hello, ' + str(obj['hobbies']))

您需要做的是将其设置为字符串。 这就是str的作用

一项:

import json
with open('input.json', 'r') as input:
    obj = json.load(input)
    #make it a string the item is the first one
    print('Hello, ' + str(obj['hobbies'][0]))

答案 1 :(得分:0)

根据评论,针对修改后的问题提供了答案。您应该更改它:

import json
with open('input.json', 'r') as input:
    obj = json.load(input)
    print('Hello,', obj['hobbies'][0])

使用逗号会自动将对象转换为字符串,或者如Matthijs990所说的那样,首先将对象转换为字符串,但这不是pythonyc

print('Hello, ' + str(obj['hobbies'][0]))