Na troca de planos de limpeza digitais, o que importa é quais dados uma validação realmente recebe. Um nome de campo atribuído em duplicado pode substituir informações logo no momento da leitura de um ficheiro JSON. Uma validação posterior do esquema do objeto resultante pode, então, ver apenas o valor remanescente. O artigo técnico da Jonas Gebäudereinigung explica esta diferença com base num exemplo em miniatura expressamente fictício.
Um objeto JSON contém entradas nomeadas. A norma de Internet RFC 8259 recomenda que os nomes dentro de um objeto sejam atribuídos de forma única. Contudo, nomes repetidos não conduzem ao mesmo resultado em todas as implementações: alguns programas mantêm o último par, outros notificam um erro ou disponibilizam todos os pares. "Legível" por si só não é, portanto, uma declaração sobre se todos os dados originalmente contidos foram preservados.
O exemplo em miniatura é: {"turnus":"wöchentlich","turnus":"monatlich"}. Mostra duas entradas com o mesmo nome no mesmo objeto. Este não é um plano de limpeza completo nem um conjunto de dados do esquema Jonas. O nome de campo inventado serve apenas para tornar o mecanismo visível. Ambos os valores estão no texto original; qual o significado que deve prevalecer não é, por isso, decidido tecnicamente.
O descodificador padrão da biblioteca json de Python mantém o último par em tais repetições. Na tentativa sintética, sobrou, portanto, "monatlich". Após inverter a ordem dos pares, sobrou "wöchentlich". Nenhum dado de cliente foi processado. O resultado descreve este descodificador com a sua configuração padrão e não é uma regra geral para todos os programas JSON. A indicação dupla original não pode ser recuperada apenas a partir do resultado simplificado.
Aqui começa o limite de uma validação de esquema posterior. O modelo de dados da especificação JSON Schema 2020-12 representa um objeto como um conjunto de propriedades, no qual duas propriedades com o mesmo nome não podem ser representadas. O comportamento perante nomes duplicados no documento de origem não está definido nesse contexto. Se uma ferramenta validar apenas o objeto resultante, uma regra não pode ver a entrada removida. Uma ferramenta integrada pode verificar adicionalmente o texto original; isto deve ser esclarecido para o canal de importação específico.
Com object_pairs_hook, Python oferece um ponto de partida para processar os pares ordenados de um objeto durante a descodificação. Uma pequena função de verificação própria pôde, na tentativa sintética, detetar os nomes repetidos e rejeitar a importação. Este foi um teste separado durante a leitura, não uma validação contra o esquema Jonas. Não foi demonstrada ou introduzida nenhuma função de proteção finalizada para uma integração real de clientes.
O limite aplica-se dentro de um objeto. O mesmo nome pode ocorrer uma vez em dois objetos diferentes sem que exista a repetição descrita. A grafia também deve ser tida em conta: um nome com uma representação de escape pode, após a descodificação, corresponder ao mesmo nome que uma sequência de caracteres escrita diretamente. A simples contagem de locais de texto visíveis não substitui, portanto, uma verificação dos nomes descodificados no respetivo objeto.
Para os clientes de uma importação de dados, a questão concreta é: os nomes repetidos são detetados antes de uma possível perda de informação e o que acontece então? Um aviso de validação de esquema bem-sucedida apenas responde a esta pergunta se o canal de importação incluir, de facto, este controlo adicional. Além disso, a ordem de duas indicações não decide qual é o turno de limpeza acordado.
A Jonas Gebäudereinigung disponibiliza já um esquema de dados de plano de limpeza público e um exemplo sintético. O artigo descreve uma questão geral de importação neste contexto de aplicação existente. Não reporta uma nova versão de software, nem um erro observado na Jonas ou uma alteração implementada.
Recurso: https://xn--jonas-gebudereinigung-e2b.de/ressourcen/reinigungsplan-datenschema/
Fundamentos técnicos: RFC 8259, secções 4 e 8.3; documentação Python, json; JSON Schema 2020-12, Core, secção 4.2.
Fontes: https://www.rfc-editor.org/info/rfc8259/ · https://docs.python.org/3/library/json.html · https://json-schema.org/draft/2020-12/json-schema-core
Autor empresarial: Jonas Gebäudereinigung. Criado com apoio de IA e verificado com base nas fontes indicadas; não é reivindicada nenhuma verificação especializada humana pessoal.
Contacto de imprensa: Assistência de imprensa para Jonas Gebäudereinigung
Alexanderstraße 101 B, 26121 Oldenburg, Alemanha
Telefone: +49 441 24923021
E-mail: info@jonas-gebäudereinigung.de
