Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Namespace: framework.types.json
Função: FwJsonCompare Compare
Sintaxe
FwJsonCompare(jJsonObject1, jJsonObject2framework.types.json.Compare( < jJsonObject1 > , < jJsonObject2 > , [ @cRet ] ) -> lRet
Descrição
...
Obs.: A classe JsonObject diferencia propriedades com nome maiúsculo das minúsculas. Por isso uma comparação entre JSONs com diferença de caixa irá resultar em diferenças pela função.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório |
---|---|---|---|---|
jJsonObject1 | JSON/Array | JSON base da comparação | Sim | |
jJsonObject2 | JSON/Array | JSON a ser comparado | Sim | |
cRet | Caractere | Variável de referência das mensagens de erros | Nil | Não |
Obs.: A função aceita como argumentos arrays do tipo argumento arrays de JSON. Os dois primeiros argumentos devem ter o mesmo tipo de variável (JSON & JSON ou Array & Array).
...
lRet JSONs iguais ou não.
Observações
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#Include "protheus.ch"
User Function MyJsonCompare()
Local lRet As Logical
Local cRet As Character
Local cJsonOne As Character
Local cJsonTwo As Character
Local jJson1 := JsonObject():New()
Local jJson2 := JsonObject():New()
cJsonOne := '{"propriedade": "valor","array":[{"valor1": true},{"valor2": true}]}'
cJsonTwo := '{"propriedade": "valor","array":[{"valor1": true},{"valor2": false}]}'
jJson1:FromJson(cJsonOne)
jJson2:FromJson(cJsonTwo)
lRet := framework.types.json.Compare(jJson1, jJson2, @cRet)
If !lRet
ConOut(cRet) // Resultado: array[2]=> Item at position 2 of aArray1 not found in aArray2.
EndIf
FreeObj(jJson1)
FreeObj(jJson2)
Return Nil |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#Include "tlpp-core.th"
Using Namespace framework.types.json
User Function MyJsonCompare()
Local lRet As Logical
Local cRet As Character
Local cJsonOne := '{"propriedade": "valor","array":[{"valor1": true},{"valor2": true}]}' As Character
Local cJsonTwo := '{"propriedade": "valor","array":[{"valor1": true},{"valor2": false}]}' As Character
Local jJson1 := JsonObject():New() As Json
Local jJson2 := JsonObject():New() As Json
jJson1:FromJson(cJsonOne)
jJson2:FromJson(cJsonTwo)
lRet := Compare(jJson1, jJson2, @cRet)
If !lRet
ConOut(cRet) // Resultado: array[2]=> Item at position 2 of aArray1 not found in aArray2.
EndIf
FreeObj(jJson1)
FreeObj(jJson2)
Return Nil |