2010年11月02日


VBScript : WSH で JSON 文字列からデータを取得する

WSH では、VBScript から JavaScript が呼べます。経験則からして、JavaScript の
関数を上方に先に書く必要があります。Json の文字列は () で挟んで eval すると
結果が Json オブジェクトになりますが、Json 文字列のセキュリティを考えるのなら
ば、prototype.js のメソッドを使うといいと思います。

VBScript から、VB の配列で参照したいプロパティの階層をセットして渡します。
<JOB>

<SCRIPT language="JavaScript">

function getJson( json_str, arr_vb_obj ) {

	' arr_vb_obj は、VBArray(セーフ配列)
	' arr_vb は、JScript 内での VBArrayラッパー
	var arr_vb = new VBArray(arr_vb_obj);

	' JScript の配列に変換
	var arr = arr_vb.toArray();

	' JSON 文字列をオブジェクト化
	var json = eval("(" + json_str + ")");

	' 階層構造の JSON を順次撮りだす処理
	' この場合は結果として  "データ" を取り出す
	for( var i = 0; i < arr.length; i++ ) {

		json = json[arr[i]]

	}

	return json;
}
</SCRIPT>

<SCRIPT language="VBScript">

	arr = Array("aaa","bbb","ccc")


	json = "{ ""aaa"" : { ""bbb"" : { ""ccc"" : ""データ"" }}}"

	MsgBox(getJson( json, arr ))

</SCRIPT>

</JOB>


posted by at 2010-11-02 21:20 | Comment(0) | VBScript | このブログの読者になる | 更新情報をチェックする
SQLの窓全体の検索
Loading
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。