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