Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python解析JSON值_Python_Json - Fatal编程技术网

用Python解析JSON值

用Python解析JSON值,python,json,Python,Json,我有下面这样的JSON位,我只需要从值中访问datetime字段,而不是第一个整数条目,但我找不到使用Python实现这一点的方法。有什么想法吗 { "boolean": true, "null": null, "number": 123, "values": [ [ "95", "2011-12-04" ], [ "90", "2011-10-03" ] ] } 将其转换为pyt

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

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

将其转换为python dict后:

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

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

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