我有一个带有两个数组的JSON对象 - 一个keys数组和一个values数组,两者长度相同.使用jmespath,我想构造一个新对象,使用keys数组的值作为键,values数组的值作为值,就像array_combine在PHP中一样.
例如,这是输入:
{
"keys": [
"a",
"b",
"c"
],
"values": [
1,
2,
3
]
}
Run Code Online (Sandbox Code Playgroud)
这是我期待的输出:
{
"a": 1,
"b": 2,
"c": 3
}
Run Code Online (Sandbox Code Playgroud)
有没有内置功能来实现这一目标?
Sai*_*olu -1
jmespath是用于解析/查询 JSON 文件的流行库。更多示例请参见http://jmespath.org/tutorial.html
在下面的代码中
zip组合两个列表,dict()将元组转换为字典
import json
import jmespath
js = '''{
"keys": [
"a",
"b",
"c"
],
"values": [
1,
2,
3
]
}'''
print (dict(zip(jp.search('keys',json.loads(js)),jp.search('values',json.loads(js)))))
Run Code Online (Sandbox Code Playgroud)
输出:{u'a':1,u'c':3,u'b':2}
| 归档时间: |
|
| 查看次数: |
1949 次 |
| 最近记录: |