2016-07-24 41 views
0

だから、VBScriptの内部で使用するにはJSONファイルから値を取得する必要があります。ここでVBScript - Json値と変数を変数として解析する

は、サンプルコンテンツです:

{ 
"installedPacks": { 
"vanilla": { 
    "name": "vanilla", 
    "build": "1.7.10", 
    "directory": "%MODPACKS%\\vanilla" 
} 

私は、ファイルの内容を読んで、具体的に(この場合は1.7.10です)ビルド値を検索し、ための変数に代入したいと思います後で使用する。

私はに変換、既存のAppData変数があります。

objShell.ExpandEnvironmentStrings("%APPDATA%") & "\" 

私は開く必要があるファイルが場所にあるの:のAppData & ".technic \ installedPacks"

+0

どのようにjsonを取得していますか? – SearchAndResQ

+1

申し訳ありませんが、私はそれを把握することができました。私はちょうどスクリプトを使ってファイルを開き、regexpとマッチさせました。私は上記のコードで編集します。 – Bolte

答えて

1

ここで私が使用したコードです。

Function ForgeJSON(strTxt) 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile(AppData & "ModPacker\ForgeVer.json", 1) 
installedPacks = objFile.ReadAll 

Dim oRE 
Dim colMatches 
Dim oMatch, I 
Set oRE = New Regexp 
oRE.Global = True 
oRE.Pattern = """build"":\s""(.+?)""" 
oRE.IgnoreCase = False 
Set colMatches = oRE.Execute(strTxt) 
For Each oMatch In colMatches 

    If oMatch.SubMatches(0) = "recommended" Then 
    Else 
     strNextmap = oMatch.SubMatches(0) 
    End If 

Next 

If strNextmap = "" Or IsNull (strNextmap) Then 
ParseJSON = "No Match Found" 
Else 
ParseJSON = strNextmap 
End If 
End Function 
関連する問題