在尝试遍历JSON对象时,我遇到了一个奇怪的“强制转换”问题。一旦迭代值达到100,脚本就会出错,并抱怨键值必须是整数。
import json
#from pprint import pprint
with open('/tmp/myfile.json') as f:
    data = json.load(f)
line_entries = len(data)
len_w = len(data[0]["w"])
#print(line_entries)
line_iter = 0
main_iter = 0
sub_iter = 0
while line_iter < line_entries:
    v = data[line_iter]["v"]["h"]
    c = data[line_iter]["v"]["d"]
    print("=========================================================")
    print("Dest: ", v)
    print("Cart: ", c)
    while sub_iter < len_wp:
        sn = data[line_iter]["w"][sub_iter]["s"]["n"]
        at = data[line_iter]["w"][sub_iter]["at"]
        dt = data[line_iter]["w"][sub_iter]["dt"]
        sub_iter = sub_iter + 1
        print(sn)
        print(at)
        print(dt)
    line_iter = line_iter + 1
    print("=========================================================")该脚本为记录0到99打印罚款,但从100开始打印:
v = data[line_iter]["v"]["h"]
TypeError: list indices must be integers or slices, not str发布于 2018-10-16 09:14:37
JSON对象可能包含列表或字典等。只要您有字典,您就可以通过示例中的字符串类型键(如"v" )访问它,但对于列表则不适用。因此,我的猜测是,记录100具有列表的类型。
https://stackoverflow.com/questions/52831874
复制相似问题