Usina BRGuía AdvPL
Ingresar
← Todos los temas
FUNCIóNEn revisión

framework.types.json.Compare

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

Compara objetos JSON por propiedades y valores.

framework.types.json.CompareAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

Función evita comparar solo serialización textual. Ficha describe comparación independiente del orden de propiedades/arrays y nombres sensibles a mayúsculas; si orden del array es contractual, no suponer igualdad estricta por posición. Requiere LIB 20211004 o superior y binario compatible TLPP. Entradas del mismo tipo, JSON/JSON o Array/Array, con salvedades para arrays JSON raíz. Ejemplo usa objetos simples reordenados. code/qty son claves fijas del contrato didáctico conservadas en idiomas. (TOTVS, s.f., ref. 1)

02 · SINTAXIS

Sintaxis

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

Parámetros

jJsonObject1
JSON / ArrayObligatorio

Base de comparación.

jJsonObject2
JSON / ArrayObligatorio

Objeto/array del mismo tipo de base.

cRet
CarácterOpcional

Diagnóstico por referencia.

Retorno

Lógico de comparación; cRet puede recibir diagnóstico por referencia.

03 · EJEMPLO PRÁCTICO

Ejemplo comentado

#Include "Protheus.ch"

User Function Ed392()
    Local jBase := JsonObject():New()
    Local jComparado := JsonObject():New()
    Local cDiferencias := ""
    // JSONs fijos validos; solo difiere orden de propiedades.
    jBase:FromJson('{"code":"A","qty":2}')
    jComparado:FromJson('{"qty":2,"code":"A"}')
    ConOut(cValToChar(framework.types.json.Compare(jBase,jComparado,@cDiferencias)))
    FreeObj(jBase)
    FreeObj(jComparado)
Return Nil
Resultado esperado

Verdadero en ambiente compatible; orden de propiedades no cambia contenido. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • Validar parseo externo y diagnóstico. Comparación no valida negocio ni autenticidad.
  • En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Contenido relacionado

REFERENCIAS
  1. TOTVS. framework.types.json.Compare. TDN. Consulta el 2026-10-26.
Estado
En revisión
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR
0 comentario(s) aprobado(s)

Comentarios

Todavía no hay comentarios aprobados.

Inicia sesión con Google o Microsoft para comentar.

Desarrollado con Usina Docs · Alpha