如何在经典ASP中将多维数组转换为JSON?
问题描述:
我有这样的代码在古典ASP:如何在经典ASP中将多维数组转换为JSON?
dim arr(2,3)
arr(0,0) = "proc"
arr(1,0) = "code"
arr(2,0) = "hour"
arr(0,1) = "11111"
arr(1,1) = "01"
arr(2,1) = "5"
arr(0,2) = "22222"
arr(1,2) = "02"
arr(2,2) = "6"
arr(0,3) = "33333"
arr(1,3) = "03"
arr(2,3) = "4"
,我想在一个JSON古典ASP变换像下面太:
{"process":[
{"proc" : "11111", "code" : "01", "hour":"5"},
{"proc" : "22222", "code" : "02", "hour":"6"},
{"proc" : "33333", "code" : "03", "hour":"4"}
]
}
任何人都可以帮我吗?
答
这里是将执行序列化JSON为您所使用的类型记录阵列功能:
Function RecordArrayToJSON(arr)
ReDim arrObj(UBound(arr, 2) - 1)
Dim i, j
For i = 1 To UBound(arr, 2)
ReDim arrProp(UBound(arr, 1))
For j = 0 To UBound(arr, 1)
arrProp(j) = """" & arr(j, 0) & """ : """ & arr(j, i) & """"
Next
arrObj(i-1) = "{" & Join(arrProp, ", ") & "}"
Next
RecordArrayToJSON = "[" + Join(arrObj, ",") + "]"
End Function
你用得到最终JSON:
Dim json : json = "{""process"":" + RecordArrayToJSON(arr) + "}"
有假设所有的属性值都是你的例子中的情况。