Visual Basic for Applications:
Travailler avec JSON
Comment faire :
VBA ne prend pas nativement en charge l’analyse ou la génération de JSON, donc nous utiliserons un langage de script comme JScript (via l’objet ScriptControl) pour parser les chaînes JSON et construire des objets JSON. Voici comment vous pouvez parser une chaîne JSON en VBA :
Function ParseJSON(ByVal jsonString As String) As Object
Dim scriptControl As Object
Set scriptControl = CreateObject("MSScriptControl.ScriptControl")
scriptControl.Language = "JScript"
scriptControl.Eval "var obj = (" & jsonString & ")"
Set ParseJSON = scriptControl.CodeObject.obj
End Function
Sub DemoParseJSON()
Dim jsonString As String
jsonString = "{""name"":""John"", ""age"":30, ""city"":""New York""}"
Dim parsed As Object
Set parsed = ParseJSON(jsonString)
MsgBox "Nom : " & parsed.name & ", Âge : " & parsed.age & ", Ville : " & parsed.city
End Sub
Pour générer du JSON, vous pourriez utiliser une approche similaire, en construisant la chaîne JSON par concaténation :
Function GenerateJSON(name As String, age As Integer, city As String) As String
GenerateJSON = "{""name"":""" & name & """, ""age"":" & age & ", ""city"":""" & city & """}"
End Function
Sub DemoGenerateJSON()
Dim jsonString As String
jsonString = GenerateJSON("Jane", 28, "Los Angeles")
MsgBox jsonString
End Sub
Plongée Profonde
Les approches présentées exploitent le ScriptControl pour gérer JSON, sous-traitant essentiellement le travail à un moteur JavaScript. C’est une solution de contournement créative mais pas nécessairement la façon la plus efficace ou moderne de travailler avec JSON dans un contexte VBA. Dans des applications plus complexes, cette méthode pourrait devenir encombrante et introduire un surcoût de performance ou des préoccupations de sécurité, puisque le ScriptControl s’exécute dans un environnement qui a un accès complet à l’ordinateur hôte.
D’autres environnements de programmation, tels que Python ou JavaScript, offrent un support intégré pour JSON, les rendant plus adaptés pour des applications nécessitant une manipulation extensive de JSON. Ces langages fournissent des bibliothèques complètes qui facilitent non seulement le parsing et la génération mais aussi l’interrogation et la mise en forme des données JSON.
Malgré ces limitations dans VBA, comprendre comment travailler avec JSON est vital dans un monde où l’échange de données basé sur le web et les fichiers de configuration sont principalement formatés en JSON. Pour les programmeurs VBA, maîtriser ces techniques ouvre des opportunités pour l’intégration avec des API web, l’interprétation de fichiers de configuration, ou même la création d’applications web simples. Cependant, lorsque les projets augmentent en complexité ou exigent des performances élevées, les développeurs pourraient envisager d’utiliser des environnements de programmation plus adaptés à JSON.