1. ホーム
  2. スクリプト・コラム
  3. vbs

VBScript 2 json文字列をjsonオブジェクトにパースするメソッド

2022-02-09 08:59:20

asp/vbscriptはjsonオブジェクトにjson文字をパースするために、json文字列を操作するためにサーバー側のコードを記述するaspの使用jscriptは単純になる場合、vbscriptは中間としてMSScriptControl.ScriptControlまたはサーバー側のjscriptを必要とします。

vbscriptでjson文字をjsonオブジェクトにパースする方法1

ScriptControlコンポーネントは、Internet Explorerでこの例を実行し、セキュリティプロンプトが表示され、作成を許可するために"Yes"をクリックする必要があることを確認してください。

MSScriptControl.ScriptControlコンポーネントの使用例

MSScriptControl.ScriptControlコンポーネントのプロパティ、メソッド、およびイベントの紹介

<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
  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 'Hello! ;}, email:[""[email protected]"",""[email protected]""], family:{parents:[""Father "",""mother""],toString:function(){return ""family members"";}}}"
Dim objTest
Call InitScriptControl 'Initialize the MSScriptControl.ScriptControl component
Set objTest = getJSONObject(strTest) 'Create JSON object
'object property operations
msgbox objTest.name&"-"&objTest.age
'Array operations
getJSArrayItem email,objTest.email,0
msgbox email
'Execute the method
msgbox objTest.hello()
msgbox objTest.family.toString()
</script>

vbscript は json 文字を json オブジェクトに解析するメソッド 2 を提供します。

中間体としてjscriptを使用する

<script language="javascript">//add runat="server" property when running server-side
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) 
</script>

今回の記事は以上です、必要な方のみご覧ください。