如何将JSON值拉入Excel工作表
我正在尝试从目前正在使用的URL中提取JSON值。我以前可能做过类似的事情,但我不知道我错过了什么 以下是网址- 以及一幅清晰的图像,以显示需要提取的内容。 我使用Tinman的方法运行了一个测试,可以在这里找到-,但我甚至不能在这里应用他的函数PrintJSONAccessors() 我需要从每个JSON“事件”中提取以下项值的帮助 1.“英语名字” 2.“参与者” 3.“ODDSfraction” 注意:我的示例使用,并要求您添加对Microsoft脚本运行时的引用以访问 我用上面的URL加载的JSON设置了一个测试文件。解析JSON数据后,练习将了解各个级别是如何嵌套的,以及使用的是什么类型的数据结构。在JSON中,它是如何将JSON值拉入Excel工作表,json,excel,vba,Json,Excel,Vba,我正在尝试从目前正在使用的URL中提取JSON值。我以前可能做过类似的事情,但我不知道我错过了什么 以下是网址- 以及一幅清晰的图像,以显示需要提取的内容。 我使用Tinman的方法运行了一个测试,可以在这里找到-,但我甚至不能在这里应用他的函数PrintJSONAccessors() 我需要从每个JSON“事件”中提取以下项值的帮助 1.“英语名字” 2.“参与者” 3.“ODDSfraction” 注意:我的示例使用,并要求您添加对Microsoft脚本运行时的引用以访问 我用上面的URL
集合
、数组
、和字典
的不同组合。下面的示例显示了如何将这些嵌套引用堆叠起来以获取所需的数据
查看中的信息,了解如何将JSON解析为分层数据结构
Option Explicit
Public Sub test()
Dim fileNum As Long
fileNum = FreeFile()
Dim filename As String
filename = "C:\Temp\testdata.json"
Dim jsonInput As String
Open filename For Input As #fileNum
jsonInput = Input$(LOF(fileNum), fileNum)
Close fileNum
Dim json As Object
Set json = ParseJson(jsonInput)
Debug.Print " English Name = " & json("events")(1)("event")("englishName")
Debug.Print " Participant = " & json("events")(1)("betOffers")(1)("outcomes")(2)("participant")
Debug.Print "Odds Fractional = " & json("events")(1)("betOffers")(1)("outcomes")(2)("oddsFractional")
End Sub
更好的解决方案是创建一个中间变量,然后循环数组(或集合或字典)中的内容
注意:我的示例使用,并要求您添加对Microsoft脚本运行时的引用以访问
我用上面的URL加载的JSON设置了一个测试文件。解析JSON数据后,练习将了解各个级别是如何嵌套的,以及使用的是什么类型的数据结构。在JSON中,它是集合
、数组
、和字典
的不同组合。下面的示例显示了如何将这些嵌套引用堆叠起来以获取所需的数据
查看中的信息,了解如何将JSON解析为分层数据结构
Option Explicit
Public Sub test()
Dim fileNum As Long
fileNum = FreeFile()
Dim filename As String
filename = "C:\Temp\testdata.json"
Dim jsonInput As String
Open filename For Input As #fileNum
jsonInput = Input$(LOF(fileNum), fileNum)
Close fileNum
Dim json As Object
Set json = ParseJson(jsonInput)
Debug.Print " English Name = " & json("events")(1)("event")("englishName")
Debug.Print " Participant = " & json("events")(1)("betOffers")(1)("outcomes")(2)("participant")
Debug.Print "Odds Fractional = " & json("events")(1)("betOffers")(1)("outcomes")(2)("oddsFractional")
End Sub
更好的解决方案是创建一个中间变量,然后循环数组(或集合或字典)中的内容。看起来实际的JSON内容比请求URL添加JSON内容的屏幕截图更有用。希望这会有帮助。确实有,但请注意,很多人不下载图片;与代码一样,最好将其作为实际文本内容包含。干杯(祝你好运!)请将此URL粘贴到在线json格式化程序中,然后单击“处理”按钮。您将获得实际的文本内容。实际的JSON内容似乎比请求URL更有用。添加了JSON内容的屏幕截图。希望这会有帮助。确实有,但请注意,很多人不下载图片;与代码一样,最好将其作为实际文本内容包含。干杯(祝你好运!)请将此URL粘贴到在线json格式化程序中,然后单击“处理”按钮。您将获得实际的文本内容