>local oxml , oAuto, oJson, lcJson >lcKey = ...(whole bunch of code I cannot show that creates the string to be passed) >lcOpen = ...(URL I cannot show you) >oXml = CREATEOBJECT("Microsoft.XMLHTTP") >oXml.OPEN( "POST", lcOpen, .F.) && false sets to synchronous, returns only after call completes >oXml.SEND() > >IF oXML.statustext <> "OK" > =MESSAGEBOX("Cannot process "+CHR(13)+"Error: "+oxml.statustext,16,"VIN") > RETURN >ENDIF >IF "SERVER_ERROR" $ oxml.responsetext > . . .some error code >ENDIF > >oJson=NEWOBJECT("json","json.prg") >* have to fix a couple things the parses does not like, although perfectly valid >* json >* #1, using [] for empty values >lcJson = oxml.responsetext >lcJson = STRTRAN(lcJson, "[]", '""') >* #2 our parses does not like the [ or ] characters, also valid but not needed >lcJson = STRTRAN(lcJson, "[", "") >lcJson = STRTRAN(lcJson, "]", "") > >oAuto=oJson.parse(lcJson) > >&& . . . update some values > >thisform.Refresh > >>