Python - 从 JSON 中的字段获取 LIST 值

标签 python json python-2.7

我有一个包含三个字段的 JSON 文件:2 个是字符串,第三个是包含值列表的字段。

{   "STREAM": "stream",
    "BASIS_STREAM": "basis",
    "PATHS": "[/opt/path1,/opt/path2]"
}

现在我加载该 JSON

with open('/pathToJsonFile.json', 'r') as f:
    data = json.load(f)

现在我想获取这些值。

stream=str(data["STREAM"])
basis=str(data["BASIS_STREAM"])
paths=data["BASE_PATHS"]

问题是 paths 也受到字符串的威胁,尽管我必须将其用作列表。由于 Unicode,我正在使用 str 函数转换其他字段。代码必须是python2。 非常感谢!

最佳答案

假设您有一个名为 data.json 的文件包含以下内容:

{
   "STREAM": "stream",
   "BASIS_STREAM": "basis",
   "PATHS": "[/opt/path1,/opt/path2]"
}

也许你可以使用 str.<b>split</b> 调用 json.<b>load</b> 后:

with open('data.json', 'r') as f:
    data = json.load(f)
print 'data = %s' % data
stream = str(data['STREAM'])
basis = str(data['BASIS_STREAM'])
paths = [str(u_s) for u_s in data['PATHS'][1:-1].split(',')]
print 'stream = %s' % stream
print 'basis = %s' % basis
print 'paths = %s' % paths

输出:

data = {u'PATHS': u'[/opt/path1,/opt/path2]', u'BASIS_STREAM': u'basis', u'STREAM': u'stream'}
stream = stream
basis = basis
paths = ['/opt/path1', '/opt/path2']

关于Python - 从 JSON 中的字段获取 LIST 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71893892/

相关文章:

python - 更改数据类型但返回 Dataframe 的空值

python - PyQt 中嵌入的 Matplotlib 交互式图形

sql - Psql查询将json数组转换为行

Python 搜索带有键值的 Json

python - Python 中的递归基础

Python [Errno 17] 文件存在问题

python - 每次重复后,keras 模型的训练都会变慢

python - 防止 16 位图像数据的自动缩放

php - 为什么我的 'if (isset) does not interact with mysql'

python - Pandas 按索引对所有其他列求和,其中名称和索引大小发生变化