Json code maken en met POST naar een website sturen

Status
Niet open voor verdere reacties.

rik111

Gebruiker
Lid geworden
13 okt 2013
Berichten
15
Ik heb een string in cell B7 op blad Open1 : {"mType":"OPEN","systemOwnerId":1,"systemId":2,"quantity":5,"autoSync":false,"symbol":"BAR"}
Ik had verwacht dat ik dat eenvoudig met
Code:
Dim sURL As String, sHTML As String, sAllPosts As String
    Dim oHttp As Object
    Dim sPostData As String
    Workbooks("Test1.xlsm").Worksheets("Open1").Activate
    sPostData = Range("B7")
    Set oHttp = CreateObject("MSXML2.XMLHTTP")
    sURL = "http://website.com"
    oHttp.Open "POST", sURL, False
    oHttp.setRequestHeader "Content-type", "application/json"
    oHttp.setRequestHeader "Accept", "application/json"
    oHttp.Send (sPostData)
    sHTML = oHttp.ResponseText
naar die website zou kunnen sturen en het antwoord lezen in sHTML,
maar die website verwacht een json formaat, terwijl ik waarschijnlijk gewoon tekst opstuur ...

Weet iemand hoe ik van die tekst een echte json kan maken (in excel of vba)
en met welk commando ik die json dan moet opsturen naar de website ?
alvast bedankt !
 
Laatst bewerkt door een moderator:
{"mType":"OPEN","systemOwnerId":1,"systemId":2,"quantity":5,"autoSync":false,"symbol":"BAR"} komt op mij nogal slordig over.
Hoeven 1,2 en 5 niet tussen aanhalingstekens?
true en false worden in de ene programmeert taal vertaald naar 1 en 0 en in een andere taal naar -1 ten 0.
Misschien moeten er nog aanhelingstekens rondom?
Maar zonder vermelding van de site met een testaccount is het koffiedik kijken.
 
{"mType":"OPEN","systemOwnerId":1,"systemId":2,"quantity":5,"autoSync":false,"symbol":"BAR"} komt op mij nogal slordig over.
Hoeven 1,2 en 5 niet tussen aanhalingstekens?
true en false worden in de ene programmeert taal vertaald naar 1 en 0 en in een andere taal naar -1 ten 0.
Misschien moeten er nog aanhelingstekens rondom?
Maar zonder vermelding van de site met een testaccount is het koffiedik kijken.
 
Probleem is opgelost dank zij reactie van de eigenaars van de website :
in de doorgestuurde JSON was ik 1x een " vergeten
en de lijn
oHttp.setRequestHeader "Accept", "application/json"
moet weg, of vervangen worden door
oHttp.setRequestHeader "Accept", "*"
dan werkt het feilloos !
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan