2009-08-14 5 views
4

J'utilise le script JSON2 dans une page ASP pour analyser les données de publication JSON. Après l'analyse des données, j'ai un objet dans VBScript qui permet de notations telles que: jsonData.keyListe les clés dans l'objet JScript à l'aide de VBScript (ASP classique)

Je souhaite analyser à travers toutes les clés, mais je ne connais pas les noms clés.

Comment ferais-je cela?

Exemple JSON: { "DBTABLE": "table1", "dbcommand": "INSERT", "dbfilter": "ID"}

Merci

+0

liés: http: // stackoverflow .com/questions/1019223/any-good-libraries-pour-parsing-json-dans-classic-asp – Helen

Répondre

3

Vous devez énumérer les noms de propriétés de l'objet cependant c'est une chose très étrange à faire dans VBScript. Vous aurez besoin de construire d'autres fonctions Jscript pour aider à convertir l'objet en quelque chose de plus facile à utiliser dans VBScript.

Si les données sont vraiment aussi simpliste que l'exemple de la question, alors vous pouvez utiliser cette fonction: -

function toDictionary(o) 
{ 
    var result = Server.CreateObject("Scripting.Dictionary"); 
    for (var key in o) 
     result.Add(key, o[key]); 
    return result; 
} 

Maintenant en VBScript: -

Dim myData: Set myData = toDictionary(jsonData); 

For Each Key In myData 
    '' // Each Key is a property for jsonData 
Next 
+0

Objet dictionnaire travaillé parfait - ne savait pas que vous pourriez utiliser l'objet dictionnaire comme ça dans JScript. Merci. Une remarque: La clé For Each ne fonctionnait pas. Je devais stocker les clés et les éléments dans les tableaux, puis faire un For i = 0 à myData.Count-1 – Mervyn

+0

@Mervyn: Vous seriez mieux de spécifier pourquoi chaque clé n'a pas fonctionné? Stocker les clés et les éléments dans les tableaux est tout simplement ulgy, maladroit et juste le genre de chose que l'objet Dictionary est conçu pour gérer. – AnthonyWJones

Questions connexes