json转储不包括属性nam

2024-10-04 11:23:21 发布

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

我正在编写一个python lambda函数,它从s3读取一个json文件,然后将其中一个节点发送给另一个lambda函数。这是我的代码:

我想要的json片段

"jobstreams": [
    {
      "jobname": "team-summary",
      "bucket": "aaa-bbb",
      "key": "team-summary.json" 
    }

步骤1–将JSON转换为python对象进行处理 注意:这些是我从另一个堆栈溢出大师那里得到的-谢谢!!在

^{2}$

第2步-然后遍历python对象,找到需要的json并将其转储

for jobstream in jobstreams:
    x = json.dumps(jobstream, ensure_ascii=False)

然而,当我打印出来时,我只有值而没有属性。为什么?在

print(json.dumps(jobstream, ensure_ascii=False))

收益率

["team-summary", "aaa-bbb", "team-summary.json"]


Tags: 对象lambda函数jsonfalses3asciisummary
2条回答

我假设您的完整json文件看起来有点像我的示例中的文件

import json

js = {"jobstreams": [
    {
      "jobname": "team-summary",
      "bucket": "aaa-bbb",
      "key": "team-summary.json" 
    },
    {
      "jobname": "team-2222",
      "bucket": "aaa-2222",
      "key": "team-222.json" 
    }
]}

def extract_by_jobname(jobname):
    for d in js['jobstreams']:
        if d['jobname'] == jobname:
            return d


json.dumps(extract_by_jobname("team-summary")) 
# '{"jobname": "team-summary", "bucket": "aaa-bbb", "key": "team-summary.json"}'

最后我从列表中创建了一个新字典json.dumps文件给了我。在

["team-summary", "aaa-bbb", "team-summary.json"]

一旦我有了新字典(它是平面的),然后我把它转换成json。。。。可能不是最有效的方法,但我还有其他事情要做。感谢大家的帮助!在

相关问题 更多 >