user function exemplo_GetJsonValue()
local cRet as character
local oVar as object
local oJson as JsonObject
local lRet as logical
oJson := JsonObject():new()
lRet := .F.
cRet := oJson:fromJson('{"aSerDeletadojson":10,"character":"Joaquim", "json":{"Joao":22, "Joana":33}, "array":[4,12,5], "numeric":23, "logical":false, "nil":null, "cArr":["Joaquim","Ana","joao"]}')
if cRet != NIL // Nao criou o Json, entao o teste todo deu errado
Conout ("Erro ao criar o objeto json")
return NIL
endif
oJson['decimal' ] := DEC_Create(10,2,1)
oJson['integer' ] := 32
oJson['date' ] := Date()
oJson['variant' ] := NIL
oJson['codeblock' ] := { | a, b | a * b }
lret := oJson:GetJsonValue("character", @keyVal, @keyType)
Conout (lRet, keyVal, keyType) // .T. Joaquim C
lret := oJson:GetJsonValue("numeric", @keyVal, @keyType)
Conout (lRet, keyVal, keyType) // .T. 23 N
lret := oJson:GetJsonValue("logical", @keyVal, @keyType)
Conout (lRet, keyVal ,keyType) // .T. .F. L
lret := oJson:GetJsonValue("cArr", @keyVal, @keyType)
Conout (lRet, keyVal, keyType, len(keyVal), keyVal[3])
lret := oJson:GetJsonValue("nil", @keyVal, @keyType)
Conout (lRet, keyVal, keyType)
lret := oJson:GetJsonValue("json", @keyVal, @keyType)
Conout (lRet, keyVal, keyType, keyVal["Joao"])
lret := oJson:GetJsonValue("array", @keyVal, @keyType)
Conout (lRet, keyVal, keyType, len(keyVal), keyVal[2])
lret := oJson:GetJsonValue("decimal", @keyVal, @keyType)
Conout (lRet, keyVal, keyType)
lret := oJson:GetJsonValue("integer", @keyVal, @keyType)
Conout (lRet, keyVal, keyType)
lret := oJson:GetJsonValue("date", @keyVal, @keyType)
Conout (lRet, keyVal, keyType)
lret := oJson:GetJsonValue("codeblock", @keyVal, @keyType)
Conout (lRet, keyVal, keyType)
lret := oJson:GetJsonValue("balbalbal", @keyVal, @keyType)
Conout (lRet, keyVal, keyType) // .F. NIL NIL
return
|