Páginas filhas
  • framework.types.json.Compare

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • 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 20210517 ou superior;
  • Essa função só funciona em binários com suporte a TLPP.



Bloco de código
languagejs
themeMidnight
titleExemplo FwJsonCompare
linenumberstrue
#Include "protheus.ch"

User Function MyJsonCompare()
	Local lRet As Logical
	Local cRet As Character
	Local cJsonOne As Character
	Local cJsonTwo As Character
	Local oJson1 := JsonObject():New()
	Local oJson2 := JsonObject():New()

	cJsonOne := '{"propriedade": "valor","array":[{"valor1": true},{"valor2": true}]}'
	cJsonTwo := '{"propriedade": "valor","array":[{"valor1": true},{"valor2": false}]}'

	oJson1:FromJson(cJsonOne)
	oJson2:FromJson(cJsonTwo)

	lRet := FwJsonCompare(oJson1, oJson2, @cRet)

	If !lRet
		ConOut(cRet) // Resultado: array[2]=> Item at position 2 of aArray1 not found in aArray2.
	EndIf

	FreeObj(oJson1)
	FreeObj(oJson2)

Return Nil

...