Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Atualizado nome da função e refeito exemplos
Composition Setup
import.css=/download/attachments/327912/newLayout.css

Namespace: framework.types.json

Função: FwJsonCompare Compare


Sintaxe

FwJsonCompareframework.types.json.Compare( < jJsonObject1 > , < jJsonObject2 > , [ @cRet ] ) -> lRet

...

  • Por conta de um comportamento padrão da JsonObject, não recomendamos utilizar o formato JSON array (ex.: [{}, {}]), somente JSON object (ex.: { "a": {}, "b": [] });
  • Caso seja necessário comparar arrays de JSON, recomendamos nomear o array (ex.: { "meuArray": [{}, {}] }) e passar o objeto nomeado no parâmetro da função (ex.: oMeuJson["meuArray"]
  • Disponível à partir da LIB versão  2021xxxx  20211004 ou superior;
  • Essa função só funciona em binários com suporte a TLPP.

...

Bloco de código
languagejs
themeMidnight
titleExemplo FwJsonComparechamada via PRW
linenumberstrue
#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]= FwJsonCompare> Item at position 2 of aArray1 not found in aArray2.
	EndIf

	FreeObj(jJson1)
	FreeObj(jJson2)

Return Nil
Bloco de código
languagejs
themeMidnight
titleExemplo chamada via TLPP
linenumberstrue
#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

...