Java 如何从JSON中获取密钥名并形成新的JSON
我有一个JSON示例:-Java 如何从JSON中获取密钥名并形成新的JSON,java,json,Java,Json,我有一个JSON示例:- { "d-ps":{ "d-es":{ "d-e": [ { "dr": "A", "dn": "ad", "dt": "am", "db": "ami", "tn": "at", "dqr": "A", "dc": "GPC-01", "bdo": "Ain", "tdo": "
{
"d-ps":{
"d-es":{
"d-e":
[
{
"dr": "A",
"dn": "ad",
"dt": "am",
"db": "ami",
"tn": "at",
"dqr": "A",
"dc": "GPC-01",
"bdo": "Ain",
"tdo": "Adn",
"de": "St"
},
{
"dr": "A1",
"dn": "ads",
"dt": "amd",
"db": "am",
"tn": "ats",
"dqr": "B",
"dc": "GP-01",
"bdo": "Ann",
"tdo": "And",
"de": "Sat"
}
]
}
}
}
我想从d-e数组中的这个JSON中获取所有密钥名称,然后生成一个新的JSON,并在数组中的d-e之后将这些密钥包含在JSON数组中,作为eh:[包含d-e数组中用逗号分隔的所有密钥]您可以将JSON字符串作为字典加载,然后抓住其中的第一个d-e数组,通过其键进行迭代,并将其添加到数组中:
jsonDict = {"d-ps":{"d-es":{"d-e":[{"dr":"A","dn":"ad","dt":"am","db":"ami","tn":"at","dqr":"A","dc":"GPC-01","bdo":"Ain","tdo":"Adn","de":"St"},{"dr":"A1","dn":"ads","dt":"amd","db":"am","tn":"ats","dqr":"B","dc":"GP-01","bdo":"Ann","tdo":"And","de":"Sat"}]}}}
deDict = jsonDict['d-ps']['d-es']['d-e'][0]
keysArray = []
for k in de[0].keys():
keysArray.append(k)
我将JSOn转换为XML类型,然后使用xpath从d-e节点内的XML中提取所有节点名称,然后生成一个新的XML,并在d-es节点后在XML中包含数组中的键,然后将其转换为JSOn,为什么不先尝试一下呢?