Recupera o valor, e o tipo de uma determinada propriedade do objeto Json.
Sintaxe
JsonObject:GetJsonValue(cPropertyName, @xValue, [@cType] )
Parâmetros
| Nome | Tipo | Descrição | Obrigatório | Referência |
|---|---|---|---|---|
| cPropertyName | caractere | Nome da propriedade cujo valor será retornado | X | |
| xValue | - | Valor da propriedade, o tipo desse dado será o tipo correspondente à propriedade solicitada. | X | X |
| cType | caractere | Parâmetro opcional, caso informado, nele é retornado o tipo do dado de xValue | X |
Retorno
Nome | Tipo | Descrição |
|---|---|---|
lRet | Logico | Retorna verdadeiro se a propriedade foi encontrada e falso caso contrário |
Exemplo
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
Observações:
Disponível em build igual ou superior a 19.3.7.0
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas