我有 json 文件:
[
{
"query": {
"key1": "value1",
"key2": "value2"
}
}
]
需要用一行连接该数组,因此输出将为:
key1=value1&key2=value2
我可以通过以下方式获取键值字符串:
import json
with open('task.json', 'r') as f:
json_dict = json.load(f)
for key, value in json_dict.iteritems():
print("{}={}".format(key, value))
key2=value2
key1=value1
但是如何对数组的所有元素进行连接和排序以获得此结果:
key1=value1&key2=value2
最佳答案
给定以下输入:
[
{
"query":{
"key2":"value2",
"key1":"value1"
}
}
]
试试这个代码:
import json
from urllib.parse import urlencode
with open('task.json', 'r') as f:
json_dict = json.load(f)
sorted_dict = dict(sorted(json_dict[0]['query'].items()))
urlencode(sorted_dict)
并给出:
#output: 'key1=value1&key2=value2'
简要说明
读取Python字典中的json文件
按升序对字典进行过滤和排序(按键)
使用urlib.parse.urlencode格式化结果
关于Python 如何连接内部数组并连接键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58176141/