python中的JSON模式转换

2024-10-02 14:26:31 发布

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

如何在python中进行JSON模式转换? 我知道Jolt可以达到这个目的,但它是用Java编写的。 我有两个JSON对象,一个是输入,另一个是映射器。我尝试通过遍历2个json对象并应用转换来实现这一点。然而,我不确定这是否是一个有效的方法。在

下面是一个例子:

输入

{
     "name": "Bob Odenkirk",
     "title": "Software Engineer",
     "location": {
         "locality": "San Francisco",
         "region": "CA",
         "country": "United States"
     },
     "age": 62,
     "status": "Active"
}

输出

^{pr2}$

Tags: 对象方法name目的jsontitle模式software
1条回答
网友
1楼 · 发布于 2024-10-02 14:26:31

听起来你的需要是可以用jq完成的。有python绑定,请参见this question。在

但是如果不知道输入和输出格式,就不能轻描淡写地说jq是您的选择。在


this question中的JSON输入为例,使用pyjq

import json
import pyjq


json_input = json.loads("""{
    "name": "Bob Odenkirk",
    "title": "Software Engineer",
    "location": {
        "locality": "San Francisco",
        "region": "CA",
        "country": "United States"
    },
    "age": 62,
    "status": "Active"
}""")

r = pyjq.one(
    '{names: [.name], occupations: [.title], locations: [.location.locality + ", " + .location.region]}',
    json_input,
)

print(json.dumps(r, indent=4))

产量:

^{pr2}$

相关问题 更多 >