使用Python解析JSON值

时间:2014-11-04 18:05:45

标签: python json

我有这样的JSON位如下所示,我只需要从值而不是第一个整数条目访问datetime字段,但我找不到使用Python的方法。有什么想法吗?

{
  "boolean": true,
  "null": null,
  "number": 123,
  "values": [
    [
      "95", 
      "2011-12-04"
    ], 
    [
        "90", 
        "2011-10-03"
    ]
  ]
}

2 个答案:

答案 0 :(得分:0)

将它变成python dict之后

for data_list in your_dict['values']:
  # ['95', '2011-12-04']
  date_str = data_list[1]

答案 1 :(得分:0)

您可以在循环中解压缩值:

import json

data = json.loads(your_json_value)

for _, date in data['values']:
    # do something with `date`

我将每个嵌套列表中的第一个值分配给_,这是一个传统上用于告诉代码阅读器忽略该值的变量。

如果您想对日期执行任何有用的操作,可能需要解析它:

import json
import datetime

data = json.loads(your_json_value)

for _, date in data['values']:
    date = datetime.datetime.strptime(date, '%Y-%m-%d').date()

演示:

>>> import json
>>> import datetime
>>> your_json_value = '''\
... {
...   "boolean": true,
...   "null": null,
...   "number": 123,
...   "values": [
...     [
...       "95", 
...       "2011-12-04"
...     ], 
...     [
...         "90", 
...         "2011-10-03"
...     ]
...   ]
... }
... '''
>>> for _, date in data['values']:
...     date = datetime.datetime.strptime(date, '%Y-%m-%d').date()
...     print('{:%a %d %B %Y}'.format(date))
... 
Sun 04 December 2011
Mon 03 October 2011