代码之家  ›  专栏  ›  技术社区  ›  the_drow

如何创建一个数据结构,用python序列化这个JSON格式?

  •  1
  • the_drow  · 技术社区  · 15 年前

    我有一个接受日期对象列表的函数,应该以JSON输出以下字典:

        {
       "2010":{
          "1":{
             "id":1,
             "title":"foo",
             "postContent":"bar"
          },
          "7":{
             "id":2,
             "title":"foo again",
             "postContent":"bar baz boo"
          }
       },
       "2009":{
          "6":{
             "id":3,
             "title":"foo",
             "postContent":"bar"
          },
          "8":{
             "id":4,
             "title":"foo again",
             "postContent":"bar baz boo"
          }
       }
    } 
    

    基本上,我想访问我的对象的年和月数。
    什么代码可以用python将列表转换成这种格式,然后用json将其序列化到上面的字典?

    1 回复  |  直到 15 年前
        1
  •  4
  •   diegogs    15 年前

    这样做应该是可行的:

    from collections import defaultdict
    import json
    
    d = defaultdict(dict)
    for date in dates:
        d[date.year][date.month] = info_for_date(date)
    json.dumps(d)