VBScript把json字符串解析成json對象的2個方法
來源:易賢網 閱讀:2469 次 日期:2014-08-12 09:38:13
溫馨提示:易賢網小編為您整理了“VBScript把json字符串解析成json對象的2個方法”,方便廣大網友查閱!

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技術專欄

更多信息請查看腳本欄目

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網