VBScript - Parse Json Value&存储为变量

时间:2016-07-24 16:23:43

标签: json parsing vbscript

好的,所以我需要从JSON文件中获取一个值,以便在VBScript中使用。

以下是示例内容:

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

我想阅读文件的内容并特别找到构建值(在本例中为1.7.10)并将其分配给变量供以后使用。

我有一个现有的AppData变量转换为:

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

我需要打开的文件位于:AppData& " .technic \ installedPacks"

1 个答案:

答案 0 :(得分: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