Asp classic 使用VBScript(经典ASP)列出JScript对象中的键

Asp classic 使用VBScript(经典ASP)列出JScript对象中的键,asp-classic,vbscript,javascript,Asp Classic,Vbscript,Javascript,我在asp页面中使用JSON2脚本来解析JSON post数据。 解析数据后,我在VBScript中有一个对象,该对象允许以下符号: jsonData.key 我希望解析所有的键,但是,我不知道键的名称 我该怎么做呢 JSON示例: {“dbtable”:“TABLE1”,“dbcommand”:“INSERT”,“dbfilter”:“ID”} 谢谢您需要枚举对象的属性名称,但是这在VBScript中是一件非常陌生的事情。您将需要构建一些其他Jscript函数来帮助将对象转换为更容易在VBSc

我在asp页面中使用JSON2脚本来解析JSON post数据。 解析数据后,我在VBScript中有一个对象,该对象允许以下符号: jsonData.key

我希望解析所有的键,但是,我不知道键的名称

我该怎么做呢

JSON示例: {“dbtable”:“TABLE1”,“dbcommand”:“INSERT”,“dbfilter”:“ID”}


谢谢

您需要枚举对象的属性名称,但是这在VBScript中是一件非常陌生的事情。您将需要构建一些其他Jscript函数来帮助将对象转换为更容易在VBScript中使用的对象

如果数据真的像问题中的示例一样简单,那么您可以使用此函数:-

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

Dim myData: Set myData = toDictionary(jsonData);

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

相关:Dictionary对象工作得非常好-不知道可以像JScript中那样使用Dictionary对象。谢谢注意:每个键的对应项都不起作用。我必须将键和项存储在数组中,然后对myData.Count执行For I=0-1@Mervyn:您最好指定每个键不起作用的原因?将键和项存储在数组中是一件简单、笨拙的事情,也是Dictionary对象设计用来处理的事情。