好的,所以我需要从JSON文件中获取一个值,以便在VBScript中使用。
以下是示例内容:
{
"installedPacks": {
"vanilla": {
"name": "vanilla",
"build": "1.7.10",
"directory": "%MODPACKS%\\vanilla"
}
我想阅读文件的内容并特别找到构建值(在本例中为1.7.10)并将其分配给变量供以后使用。
我有一个现有的AppData变量转换为:
objShell.ExpandEnvironmentStrings("%APPDATA%") & "\"
我需要打开的文件位于:AppData& " .technic \ installedPacks"
答案 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