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 或自定义类的方式。
使用二维数组是一种简单的替代方案,但功能有限,不推荐用于复杂场景。