Почему я получаю ошибку 10001 при разборе JSON в Excel - PullRequest
0 голосов
/ 28 мая 2019

У меня есть код, который получает обновленные цены на акции путем анализа JSON.Я в основном сделал следующее: 1 - Скачал последнюю версию VBA JSON.2 - Извлеките его, откройте редактор кода VBA в Excel (Alt + F11) и импортируйте библиотеку.3 - Добавить ссылку на среду выполнения сценариев Microsoft.(Инструменты> ссылки> выбрать)

По какой-то причине я продолжаю получать ошибку ниже:

Err.Raise 10001, «JSONConverter», json_ParseErrorMessage (JsonString, json_Index, «Expecting»{'или' ['”)

Sub getData()

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False

    Dim wb As Workbook
    Dim ws As Worksheet
    Dim rng As Range
    Dim symbol As Variant
    Dim n As Integer
    Dim lastrow As Long
    Dim myrequest As Variant
    Dim i As Integer

    Set wb = ActiveWorkbook
    Set ws = Sheets("Sheet1")
    ws.Activate

    'Last row find
    lastrow = ws.Cells(Rows.Count, "A").End(xlUp).Row

    Set rng = ws.Range("A4:A" & lastrow)

    'Clear Prior Prices
    ws.Range("B4:B" & lastrow).ClearContents

    n = 4
    'Get Symbols list
    For Each symbol In rng

        Set myrequest = CreateObject("WinHttp.WinHttpRequest.5.1")
        myrequest.Open "Get", "https://api.iextrading.com/1.0/stock/" & symbol &
        "/quote"
        'myrequest.Open "Get", "https://www.bloomberg.com/markets/api/bulk-time-
        series/price/" & symbol & "%3AUS?timeFrame=1_DAY"
        myrequest.Send

        Debug.Print myrequest.ResponseText

        Dim Json As Object
        Set Json = JsonConverter.ParseJson(myrequest.ResponseText)
        MsgBox (myrequest.ResponseText)
        i = Json(1)("latestPrice")
        ws.Range(Cells(n, 2), Cells(n, 2)) = i
        n = n + 1

    Next symbol

    ws.Columns("B").AutoFit
    MsgBox ("Data is downloaded.")

    ws.Range("B4:B" & lastrow).HorizontalAlignment = xlGeneral
    ws.Range("B4:B" & lastrow).NumberFormat = "$#,##0.00"

    Application.DisplayAlerts = True
    Application.ScreenUpdating = True

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...