Python解析json时提示“string indices must be integers”问题怎么办(json,python,开发技术)

时间:2024-04-29 15:38:06 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    Python%E8%A7%A3%E6%9E%90json%E6%97%B6%E6%8F%90%E7%A4%BA%E2%80%9Cstring+indices+must+be+integers%E2%80%9D%E9%97%AE%E9%A2%98%E6%80%8E%E4%B9%88%E5%8A%9E

import json,但是出现了一个奇怪的问题:

string indices must be integers

这个错误告诉我,[ ]里面应该是数字而不是字符串,但是dict使用key访问也可以,这种错误感觉解析出来的结果像是一个list。

所以考虑是字符串解析的问题。打印解析的结果,是一长串的字符串,一堆的key挤在一起,value都缺失了。再打印原始的字符串,发现了一些细节,key并没有被双引号包围,类似于'{a:"abcde",b:"abcde"}'。

好吧,这是一个不符合json规范的字符串,要处理它,可以使用正则表达式转换成规范的key再解析或者使用其他功能更加强大的库——demjson。

pip install demjson,解决。

json的用法:

结果为:

[{"a": 1, "c": 3, "b": 2, "e": 5, "d": 4}]

结果为:

{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}

demjson的用法:

结果为:

[{"a":1,"b":2,"c":3,"d":4,"e":5}]

结果为:

{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}

结果为:

[{"a":1,"b":2,"c":3,"d":4,"e":5}]

结果为:

{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}

本文:Python解析json时提示“string indices must be integers”问题怎么办的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:python字典的常用方法有哪些下一篇:

9 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18