Depuis une feuille Excel faire un JSON hiérarchisé
Bonjour,
Je voudrais faire un fichier Json à partir de données contenus sur une feuille.
de ce type avec une hiréarchisation (noeuds, sous class ...)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| {
"Sols": [
{
"ID": "Montagne",
"donnees": [
"Couleur": 8421504,
"Accessible": "Non",
"Bloque_vue": "Oui",
"Vitesse": 0
]
},
"ID": "Foret",
"donnees": [
"Couleur": 5287936,
"Accessible": "Oui",
"Bloque_vue": "Oui",
"Vitesse": 0
]
}, |
J'ai trouvé ce code, il fonctionne, mais cela ne convient pas, je n'arrive par à faire des noeuds. je pensais partir de la et arriver à le modifier
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Dim jsonCarte As New Collection
Dim jsonSols As New Collection
Dim jsonDictionary As New Dictionary
Dim jsonFileObject As New FileSystemObject
Dim jsonFileExport As TextStream
maxY = 2
While Worksheets("Sols").Cells(maxY, 1).Interior.Color <> couleurFin
jsonDictionary("ID") = Worksheets("Sols").Cells(maxY, 2).Value
jsonDictionary("Couleur") = Worksheets("Sols").Cells(maxY, 1).Interior.Color
jsonDictionary("Accessible") = Worksheets("Sols").Cells(maxY, 3).Value
jsonDictionary("Bloque_vue") = Worksheets("Sols").Cells(maxY, 4).Value
jsonDictionary("Vitesse") = Worksheets("Sols").Cells(maxY, 5).Value
jsonSols.Add jsonDictionary
Set jsonDictionary = Nothing
maxY = maxY + 1
Wend
txt = ThisWorkbook.Path & "\sols.json"
Set jsonFileExport = jsonFileObject.CreateTextFile(txt, True)
jsonFileExport.WriteLine (JsonConverter.ConvertToJson(jsonSols, Whitespace:=3)) |
Voici le résultat obtenu :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [
{
"ID": "Montagne",
"Couleur": 8421504,
"Accessible": "Non",
"Bloque_vue": "Oui",
"Vitesse": 0
},
{
"ID": "Foret",
"Couleur": 5287936,
"Accessible": "Oui",
"Bloque_vue": "Oui",
"Vitesse": 0.5
}, |
Si vous avez une idée ça serai super
Par avance merci