Scripting.Dictionary
对象Scripting.Dictionary
是 VBScript 中用于存储键值对的标准对象。它是实现键值对数组的最佳选择。
<% ' 创建 Dictionary 对象 Set dict = Server.CreateObject("Scripting.Dictionary") ' 添加键值对 dict.Add "key1", "value1" dict.Add "key2", "value2" dict.Add "key3", "value3" ' 遍历并输出键值对 For Each key In dict.Keys Response.Write "Key: " & key & ", Value: " & dict(key) & "<br>" Next ' 删除某个键值对 If dict.Exists("key2") Then dict.Remove "key2" End If ' 清空字典 dict.RemoveAll ' 释放对象 Set dict = Nothing %>
如果无法使用 Scripting.Dictionary
,可以使用二维数组来模拟键值对。
<% ' 定义二维数组 Dim arr(1, 2) arr(0, 0) = "key1" : arr(1, 0) = "value1" arr(0, 1) = "key2" : arr(1, 1) = "value2" arr(0, 2) = "key3" : arr(1, 2) = "value3" ' 遍历并输出键值对 For i = 0 To UBound(arr, 2) Response.Write "Key: " & arr(0, i) & ", Value: " & arr(1, i) & "<br>" Next %>
如果使用的是 ASP.NET,可以通过创建自定义类来实现键值对。
<% Class KeyValuePair Public Key As String Public Value As String End Class Dim kvpList As New ArrayList() ' 添加键值对 Dim kvp1 As New KeyValuePair() kvp1.Key = "key1" kvp1.Value = "value1" kvpList.Add(kvp1) Dim kvp2 As New KeyValuePair() kvp2.Key = "key2" kvp2.Value = "value2" kvpList.Add(kvp2) ' 遍历并输出键值对 For Each kvp In kvpList Response.Write "Key: " & kvp.Key & ", Value: " & kvp.Value & "<br>" Next %>
如果需要处理更复杂的键值对结构,可以使用 JSON 格式存储数据,并通过 JSON 库解析。
<% ' 引入 JSON 解析库(如 aspJSON) Set oJSON = New aspJSON ' 创建 JSON 对象 jsonStr = "{""key1"":""value1"",""key2"":""value2"",""key3"":""value3""}" oJSON.loadJSON(jsonStr) ' 输出键值对 For Each key In oJSON.data Response.Write "Key: " & key & ", Value: " & oJSON.data(key) & "<br>" Next %>
注意:此方法需要引入第三方库(如
aspJSON
),具体实现依赖于所使用的库。
推荐方法:使用 Scripting.Dictionary
,因为它简单、高效且功能强大。
如果需要更复杂的结构,可以选择 JSON 或自定义类的方式。
使用二维数组是一种简单的替代方案,但功能有限,不推荐用于复杂场景。