在使用python的jason库时,偶然碰到以下问题
TypeError: the JSON object must be str, bytes or bytearray, not ‘list’
通过如下代码可复现问题
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> import json
>>> ra = json.loads(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\Python36\lib\json\__init__.py", line 348, in loads
'not {!r}'.format(s.__class__.__name__))
TypeError: the JSON object must be str, bytes or bytearray, not 'list'
分析可知,python中的列表如果要通过json库解析为jason对象,就会出现以上提示。意思是,jason的对象必须是字符串,字节或字节数组,不能是列表。如果将 a 通过 str(a),在调用 loads,则不会出现以上问题。
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> str(a)
'[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]'
>>> json.loads(str(a))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
》扩展说明 》
jason导入数据
jason.load
jason.loads 其中s表示字符串
jason 导出数据文章来源:https://www.toymoban.com/news/detail-799768.html
f = open(‘./data/test.txt’, ‘r’)
jason.dump(data, f)
jason.dumps文章来源地址https://www.toymoban.com/news/detail-799768.html
到了这里,关于TypeError the JSON object must be str, bytes or bytearray, not ‘list‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!