python - for line in json 对象每行返回一个字符

标签 python

每当我执行这段代码时...

import json, urrlib2
res = urrlib2.urlopen('http://website.com/data.json')
data = json.load(res)
for line in json.dumps(data["specific"]["data"], sort_keys=True, indent=0):
    print line

每个字符都打印在新行中。我正在使用 python2.7,我根本不知道出了什么问题。它不应该这样做,因为当我在 for line 语句之前打印数据时,我会得到一个格式良好的内容列表。

最佳答案

json.dumps(obj) 会将 obj 转换为格式化字符串(可以使用 json.dump(obj, file)。当你迭代一个字符串时,你迭代它的字符:

>>> for line in "abc":
    print(line)


a
b
c

相反,我认为您想要迭代对象的内容,例如:

for line in data["specific"]["data"]:
    print line

关于python - for line in json 对象每行返回一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23761592/

相关文章:

python - 如何修复未正确复制的元胞自动机/空间囚徒困境

python - 计算二维向量之间角度的最快方法

Python 文本文件而不是字典

python - 如何在 flask 中发布请求后使用 websocket 向客户端发送警报

python - 如何使用 Python 更改文件的字段分隔符?

python - 使用类似枚举的函数迭代 numpy 数组

python - 同时迭代两列并根据条件更改单元格的值

python - 将 Pandas Dataframe 转换为特定格式

python - 以一致或固定的精度打印数字

python - Python 中真正的并行性