Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

263
Visualizações
JSONObject.similar(JSONObject) ¿qué se compara realmente?

Estaba buscando una manera de comparar dos JSONObjects además de usar

JSONObject.toString().equals(JSONObject.toString())

y me encontré con este método similar, pero es muy vago acerca de lo que compara.

"Determine si dos JSONObjects son similares. Deben contener el mismo conjunto de nombres que deben estar asociados con valores similares ". Enlace

¿Qué se supone que significa eso? ¿Qué tan similar? ¿Exactamente lo mismo?

Busqué muy duro y no pude encontrar nada que pudiera aclararlo.

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Aquí está la fuente de JSONObject.similar() :

 /** * Determine if two JSONObjects are similar. * They must contain the same set of names which must be associated with * similar values. * * @param other The other JSONObject * @return true if they are equal */ public boolean similar(Object other) { try { if (!(other instanceof JSONObject)) { return false; } if (!this.keySet().equals(((JSONObject)other).keySet())) { return false; } for (final Entry<String,?> entry : this.entrySet()) { String name = entry.getKey(); Object valueThis = entry.getValue(); Object valueOther = ((JSONObject)other).get(name); if(valueThis == valueOther) { continue; } if(valueThis == null) { return false; } if (valueThis instanceof JSONObject) { if (!((JSONObject)valueThis).similar(valueOther)) { return false; } } else if (valueThis instanceof JSONArray) { if (!((JSONArray)valueThis).similar(valueOther)) { return false; } } else if (valueThis instanceof Number && valueOther instanceof Number) { if (!isNumberSimilar((Number)valueThis, (Number)valueOther)) { return false; }; } else if (!valueThis.equals(valueOther)) { return false; } } return true; } catch (Throwable exception) { return false; } }

Esencialmente similar() compara recursivamente los nombres y valores de los JSONObject y devuelve verdadero si son iguales. Primero, verifica si los keySet son iguales, luego pasa a los valores. Comprueba recursivamente cada valor en el keySet para ver si son iguales en cada JSONObject . Si no, devuelve falso.

about 4 years ago · Santiago Trujillo Relatório

0

La descripción que encontró se relaciona con el método JSONObject.similar(), que compara si dos objetos JSON son iguales, pero quizás tengan un orden diferente de sus atributos.

El equals() comparará cada carácter de cadena, uno por uno, comprobando si es el mismo, teniendo el mismo orden.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda