Je veux fondamentalement obtenir toutes les clés dans les "questions" et faire des enregistrements individuels pour chaque clé. Dire que j'ai données JSON qui ressemble à ceci:Y at-il un moyen de faire une clé json un champ dans redshift
"result": {
"id": "dsgdsg",
"name": "xxx",
"expiration": {
"startDate": null,
"endDate": null
},
"questions": {
"QID4": {
"questionType": {
"selector": "TB",
"subSelector": null
},
"questionLabel": null,
"validation": {
"doesForceResponse": false
}
},
"QID5": {
"questionType": {
"selector": "ML",
"subSelector": null
},
"questionLabel": null,
"validation": {
"doesForceResponse": false
}
},
"QID6": {
"questionType": {
"selector": "SAVR",
"subSelector": "TX"
},
"questionLabel": null,
"validation": {
"doesForceResponse": false
}
},
"QID7": {
"questionType": {
"selector": "SAVR",
"subSelector": "TX"
},
"questionLabel": null,
"validation": {
"doesForceResponse": false
}
}
}
}
aurait-il moyen en utilisant jsonpaths pour charger individuellement chaque QID dans son propre champ avec son propre record? J'ai essayé quelque chose sur les lignes de ceci:
{
"jsonpaths": [
"$.result.id",
"$.result.name",
"$.result.questions.[0]"
]
}
mais cela donne seulement les données dans QID4 et ainsi de suite. Pourrais-je en quelque sorte boucler les jsonpaths?
Y a-t-il un nombre fixe de questions dans chaque résultat ... c.-à-d. tous les résultats ont des questions 4-7? – systemjack
Non, c'est mon problème principal chaque résultat a un nombre différent de questions donc je ne peux pas donner un nombre concret min et max. –
Ce que j'essaie de faire maintenant est essentiellement d'utiliser python pour obtenir tous les qids et créer un nouveau champ dans le qid qui contient cette clé. –