又一个Python在JSON数组上循环

2024-10-02 12:27:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我花了几个小时在这上面,尝试了我在网上找到的所有东西,拔了一些留在我头上的头发。。。 我把这个JSON发送到一个Flask webservice,我正在写:

{'jsonArray': '[
    {
        "nom":"0012345679",
        "Start":"2018-08-01",
        "Finish":"2018-08-17",
        "Statut":"Validee"
    },
    {
        "nom":"0012345679",
        "Start":"2018-09-01",
        "Finish":"2018-09-10",
        "Statut":"Demande envoyée au manager"
    },
    {
        "nom":"0012345681",
        "Start":"2018-04-01",
        "Finish":"2018-04-08",
        "Statut":"Validee"
    },
    {
        "nom":"0012345681",
        "Start":"2018-07-01",
        "Finish":"2018-07-15",
        "Statut":"Validee"
    }
    ]'}

我只想简单地循环查看记录:

^{pr2}$

我相信我在JSON对象、python dict对象、字符串之间迷失了方向,但我不知道我遗漏了什么。我真的试着把收到的JSONjson.dumps文件以及json.loads方法,但仍然没有。我错过了什么??在

我只想遍历每条记录,创建另一个python对象,并将其馈送到图表库中,如下所示:

df = [dict(Task="0012345678", Start='2017-01-01', Finish='2017-02-02', Statut='Complete'),
      dict(Task="0012345678", Start='2017-02-15', Finish='2017-03-15', Statut='Incomplete'),
      dict(Task="0012345679", Start='2017-01-17', Finish='2017-02-17', Statut='Not Started'),
      dict(Task="0012345679", Start='2017-01-17', Finish='2017-02-17', Statut='Complete'),
      dict(Task="0012345680", Start='2017-03-10', Finish='2017-03-20', Statut='Not Started'),
      dict(Task="0012345680", Start='2017-04-01', Finish='2017-04-20', Statut='Not Started'),
      dict(Task="0012345680", Start='2017-05-18', Finish='2017-06-18', Statut='Not Started'),
      dict(Task="0012345681", Start='2017-01-14', Finish='2017-03-14', Statut='Complete')]

Tags: 对象jsontask记录notnomstartdict
1条回答
网友
1楼 · 发布于 2024-10-02 12:27:23

整个过程都用单引号括起来,这意味着它是一个字符串,您需要解析它。在

for record in json.loads(req_data['jsonArray']):

查看您的注释代码,您这样做了:

^{pr2}$

在一个字符串上使用json.dumps是错误的想法,而且json.loads(json.dumps(x))和{}是一样的,所以你回到了开始的地方,也就是说,data和{}(一个字符串)是一样的。在

这是正确的想法:

j2 = json.loads(req_data['jsonArray'])

但你从未使用过j2。在

如您所见,迭代一个字符串将得到该字符串的每个字符。在

相关问题 更多 >

    热门问题