将Json字符串解析为Classic ASP页面

时间:2017-04-28 23:44:26

标签: json vbscript asp-classic

使用库将json字符串解析为经典asp的最佳方法是什么?

Dim jsonString
jsonString = {"date":"4/28/2017","custType":"100","vehicle":"1"}

想要

response.write("<li> date :" & json("date") & "</li>")

2 个答案:

答案 0 :(得分:3)

搞定了:

使用https://github.com/rcdmk/aspJSON

Dim jsonString
jsonString = {"date":"4/28/2017","custType":"100","vehicle":"1"}

Dim jsonObj, outputObj
set jsonObj = new JSONobject
set outputObj = jsonObj.parse(jsonString)

response.write("<li> date :" & outputObj("date") & "</li>")
response.write("<li> custType :" & outputObj("custType") & "</li>")
response.write("<li> vehicle :" & outputObj("vehicle") & "</li>")

如果您需要遍历单个对象,请使用 outputObj.pairs

Dim props, prop
props = outputObj.pairs
for each prop in props
    response.write prop.name & " : " & prop.value & "<br>"
next

引用为https://github.com/rcdmk/aspJSON/issues/20

答案 1 :(得分:0)

作为一个有趣的解决方案,因为 JSON 键被双引号包裹,这个简单的函数可以提取键值(但是它可能需要一些更多的细节来转义值中的引号):

function getJsonKey(JsonString,key)
    myarray=split(JsonString,key,-1,1)
    if ubound(myarray)>0 then
        myarray2=split(myarray(1),chr(34),-1,1)
        getJsonKey=myarray2(2)
    else
        getJsonKey=""
    end if
end function