JSON 字典重复自动消除

JSON Dictionary Duplicate Automatically Eliminated

问题是有多个修订 ID,无论存在多少个修订,它只需要一个修订 ID。将字典与 JSON.

一起使用

需要获取所有存在的修订标签。

数据结构:Structure of the JSON file

Code:

#Defining a blank dictionary
data = {}

#File Loading Command
with open(path+filename,encoding="iso-8859-1") as file:
    data = json.load(file)

#Defining the Base Date to subtract from
basedate = date(2006, 1, 1)

#Number of Objects in JSON
for count in range(140):

    #If there is any data in that then do the following
    if(data[count]):
        for each_item in data[count]:

            #If the item is revision
            if each_item == "revision":

                #This is where the problem lies since it always only fetches one revision
                time = data[count]["revision"]["timestamp"]

                currentdate = date(int(time[0:4]),int(time[5:7]),int(time[8:10]))

                #Calculating Days
                delta = currentdate - basedate
                print(data[count]["title"] + ": " +str(delta))

==================================编辑1========= =======================
JSON 在这里显示很大,因此:https://api.myjson.com/bins/4sxm3

Python 字典就像其他语言中的哈希表一样,键是唯一的。看起来您在 JSON 对象中有多个 "revision" 条目,这就是问题所在。也请参阅 prior SO 关于 JSON 中非唯一键的不可取性。可能最好的办法是重新格式化 JSON 以制作每个 ID 的修订列表;不知道如何在没有像正则表达式替换这样的骇人听闻的情况下做到这一点...

此外,您不需要预先初始化字典,Python 标准库 JSON 模块将足够智能,可以自行将 JSON 对象转换为字典.