asp/vbscript將json字符解析為json對象的方法,如果asp使用jscript來編寫服務器端代碼操作json字符串就簡單了,vbscript需要MSScriptControl.ScriptControl或者服務器端的jscript來作為中間體才行。
vbscript將json字符解析為json對象的方法一
使用MSScriptControl.ScriptControl組件,請用IE瀏覽器運行本示例,會有安全提示,需要點擊“是”允許創(chuàng)建。
代碼如下:
<script language="vbscript">
Dim sc4Json
Sub InitScriptControl
Set sc4Json = CreateObject("MSScriptControl.ScriptControl")
sc4Json.Language = "JavaScript"
sc4Json.AddCode "var itemTemp=null;function getJSArray(arr, index){itemTemp=arr[index];}"
End Sub
Function getJSONObject(strJSON)
sc4Json.AddCode "var jsonObject = " & strJSON
Set getJSONObject = sc4Json.CodeObject.jsonObject
End Function
Sub getJSArrayItem(objDest,objJSArray,index)
On Error Resume Next
sc4Json.Run "getJSArray",objJSArray, index
Set objDest = sc4Json.CodeObject.itemTemp
If Err.number=0 Then Exit Sub
objDest = sc4Json.CodeObject.itemTemp
End Sub
Dim strTest
strTest = "{name:""alonely"", age:24,hello:function(){return '你好!';}, email:[""ycplxl1314@163.com"",""ycplxl1314@gmail.com""], family:{parents:[""父親"",""母親""],toString:function(){return ""家庭成員"";}}}"
Dim objTest
Call InitScriptControl'初始化MSScriptControl.ScriptControl組件
Set objTest = getJSONObject(strTest)'創(chuàng)建JSON對象
'對象屬性操作
msgbox objTest.name&"-"&objTest.age
'數(shù)組操作
getJSArrayItem email,objTest.email,0
msgbox email
'執(zhí)行方法
msgbox objTest.hello()
msgbox objTest.family.toString()
</script>
vbscript將json字符解析為json對象的方法二
用jscript作為中間體
代碼如下:
<script language="javascript">//運行在服務器端時,增加runat="server"屬性
Array.prototype.get = function(x) { return this[x]; };
function parseJSON(strJSON) { return eval("(" + strJSON + ")"); }
</script>
<script language="vbscript">
Dim json, obj
json = "{a:""aaa"", b:{ name:""bb"", value:""text"" }, c:[""item0"", ""item1"", ""item2""]}"
Set obj = parseJSON(json)
更多信息請查看IT技術專欄