Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将JSON值拉入Excel工作表_Json_Excel_Vba - Fatal编程技术网

如何将JSON值拉入Excel工作表

如何将JSON值拉入Excel工作表,json,excel,vba,Json,Excel,Vba,我正在尝试从目前正在使用的URL中提取JSON值。我以前可能做过类似的事情,但我不知道我错过了什么 以下是网址- 以及一幅清晰的图像,以显示需要提取的内容。 我使用Tinman的方法运行了一个测试,可以在这里找到-,但我甚至不能在这里应用他的函数PrintJSONAccessors() 我需要从每个JSON“事件”中提取以下项值的帮助 1.“英语名字” 2.“参与者” 3.“ODDSfraction” 注意:我的示例使用,并要求您添加对Microsoft脚本运行时的引用以访问 我用上面的URL

我正在尝试从目前正在使用的URL中提取JSON值。我以前可能做过类似的事情,但我不知道我错过了什么

以下是网址- 以及一幅清晰的图像,以显示需要提取的内容。

我使用Tinman的方法运行了一个测试,可以在这里找到-,但我甚至不能在这里应用他的函数PrintJSONAccessors()

我需要从每个JSON“事件”中提取以下项值的帮助 1.“英语名字” 2.“参与者” 3.“ODDSfraction”

注意:我的示例使用,并要求您添加对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
更好的解决方案是创建一个中间变量,然后循环数组(或集合或字典)中的内容

注意:我的示例使用,并要求您添加对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格式化程序中,然后单击“处理”按钮。您将获得实际的文本内容