我有一个分为3个部分的json文件。
{
"columns": {
"0": "Account Number",
"1": "Airport",
"2": "Terminal",
},
"rows": [
[
[
{
"v": "1234 "
},
{
"v": "LHR - London Heathrow"
},
{
"v": "T3"
}
]
]
]
,"types": [
{
"0": "TEXT",
"1": "TEXT",
"2": "TEXT"
}
]
}
我希望它是这样的:
{ “帐号”:“ 1234”, “机场”:“ LHR-伦敦希思罗机场”, “ Terminal”:“ T3” }
请问如何实现?
答案 0 :(得分:4)
依赖项
Utilisateur.findOne({ _id: mongoose.Types.ObjectId(auteur._id) }, function (err, sal) {
if (err) return handleError(err);
else {
sal.relations.lien_vers.push({
metadonnees: { nom_societe: societePersonalId },
identite: auteur._id.toString(),
canons: [""]
});
console.log("before saving", sal.relations.lien_vers)
sal.markModified('relations');
sal.save(function (err) {
if (err) {
console.log(err)
}
console.log("doc saved")
});
}
});
}
将Json作为文件读取
import json
import ast
将Json读取为字符串
with open("file.json") as f:
data = ast.literal_eval(f.read())
创建新的json
askersString = """{
"columns": {
"0": "Account Number",
"1": "Airport",
"2": "Terminal",
},
"rows": [
[
[
{
"v": "1234 "
},
{
"v": "LHR - London Heathrow"
},
{
"v": "T3"
}
]
]
]
,"types": [
{
"0": "TEXT",
"1": "TEXT",
"2": "TEXT"
}
]
}"""
data = ast.literal_eval(askersString)
输出
columns = data["columns"]
a = data["rows"][0][0]
newJson = {}
for k, v in columns.items():
newJson[v] = a[int(k)]['v']
updatedJson = json.dumps(newJson, indent=4)
print(updatedJson)