Meu requisito é apenas exibir um conjunto de valores recuperados do banco de dados em uma propagação. Eu estou usando jquery.
javascript
jquery
xml
json
sarego
fonte
fonte
Uso JSON, a menos que seja necessário usar XML. É mais simples de entender e (porque requer menos sobrecarga de configuração) é mais fácil programar para leitura e gravação se as bibliotecas estiverem disponíveis no seu contexto, e elas são bastante onipresentes agora.
Quando a Amazon expôs seus catálogos como um serviço da Web, eles ofereceram JSON e XML. Algo como 90% dos implementadores escolheu o JSON.
fonte
Considerando o seu caso específico em que você já está fazendo javascript no lado do cliente, eu usaria o JSON pelos seguintes motivos:
Como o JSON é nativo do javascript, você teria que escrever menos código no lado do cliente - apenas
eval()
(ou, melhor aindaJSON.parse()
) a string JSON e obter um objeto que você possa usar.Ao mesmo tempo, avaliar o JSON no lado do cliente será mais eficiente e, portanto, mais rápido.
A serialização JSON produz seqüências mais curtas que XML. O uso do JSON reduzirá a quantidade de dados em execução no fio e melhorará o desempenho nesse sentido.
Aqui estão algumas leituras adicionais: http://www.subbu.org/blog/2006/08/json-vs-xml
fonte
eval()
JSON não é um grande não-não?Algumas outras coisas que encontrei no relm XML vs JSON:
JSON é muito bom para
O que significa que tende a gostar de uma matriz ou matriz aninhada. No entanto, o JSON está ausente
Portanto, se você combinar dois ou mais serviços JSON, poderá haver possíveis conflitos de namespace. Dito isto, o JSON pode ser usado para cerca de 90% das mesmas coisas que o XML pode ser usado ao trocar dados na minha experiência.
fonte
Geralmente, o JSON é mais compacto e mais rápido de analisar.
Prefira XML se:
Um caso importante de (quase) XML: tentar detectar quando enviar trechos de HTML é mais benéfico do que enviar dados brutos. A AHAH pode fazer maravilhas em aplicativos simples, mas frequentemente ignorados. Geralmente, esse estilo pressupõe que um servidor envie fragmentos HTML que serão incorporados na página da Web sem processamento.
Geralmente, nos casos da AHAH, o CSS está sendo aproveitado ao máximo para massagear visualmente os trechos e implementar condições simples, como ocultar / mostrar partes relevantes do trecho, usando configurações específicas do usuário ou específicas do aplicativo.
fonte
JSON é fácil e rápido de analisar. XML é um pouco mais difícil de analisar e é mais lento para analisar e transferir (na maioria dos casos).
Como você está usando o jQuery, sugiro usar o JSON: o jQuery pode recuperar dados JSON e convertê-los em um objeto Javascript automaticamente. De fato, você pode converter dados JSON em um objeto Javascript usando eval . O XML teria que ser transmitido manualmente por você (não sei como isso funciona em Javascript, mas é difícil / mais irritante na maioria dos idiomas com os quais usei bibliotecas XML).
fonte
O JSON é sempre preferível em termos do processamento que o navegador do cliente precisa fazer para analisar os dados. Além disso, o JSON é um formato leve de troca de dados.
A análise de XML sempre consome muitos recursos do navegador e deve ser evitada o máximo que pudermos, a menos que seja necessário.
fonte
Eu tenho um post sobre o assunto detalhando o histórico de protocolos da Web (SOAP, XML, JSON, REST, POX etc.), fornecendo um resumo, bem como algumas vantagens e desvantagens de cada um: http://www.servicestack.net / mythz_blog /? p = 154
Na verdade, acho que você pode desenhar muitas semelhanças entre XML e JSON comparando as diferenças entre as linguagens dinâmica (JSON) e estática (XML).
Basicamente, o XML é um formato de serialização mais rígido e rígido que pode ser opcionalmente verificado com um esquema que o acompanha (que é um XSD ou DTD). Os XSDs são bastante elaborados e permitem que você descreva muitos tipos diferentes, como datas, horas, enumerações, tipos definidos pelo usuário e até mesmo herança de tipos, etc. O SOAP efetivamente se baseia no conjunto de recursos XML, fornecendo uma maneira padronizada de descrever seus serviços da Web ( por exemplo, tipos e operações) através de um WSDL. A verbosidade e a complexidade da especificação WSDL significa que pode ser mais tedioso se desenvolver, mas ao mesmo tempo há muito mais ferramentas disponíveis para você e a maioria das linguagens modernas fornece ferramentas automatizadas para gerar proxies de clientes, tirando parte do fardo. desligado ao tentar interoperar com serviços externos.
Eu ainda recomendaria o uso de XML para seus serviços da Web se você tiver um 'serviço corporativo' bem definido que não esteja sujeito a alterações frequentes ou se precisar acessar o serviço da Web a partir de vários idiomas diferentes.
Por todos os seus benefícios, o XML também traz desvantagens. Ele se baseia em espaços de nome para fornecer um formato extensível digitado e permite especificar atributos e elementos no mesmo documento. Ter espaços de nomes diferentes no documento significa muitas vezes ao usar um Analisador de XML para extrair dados, você também precisará fornecer o espaço de nomes de cada elemento que deseja recuperar / atravessar. Também extrapola a carga útil, tornando-a mais detalhada do que precisa ser. Ter a opção de gerar atributos e elementos significa que suas classes não são mapeadas adequadamente para um documento XML. Somente esses recursos o tornam um ajuste programático inadequado para a maioria dos idiomas, tornando-o mais tedioso e complicado de trabalhar.
O JSON, por outro lado, é o oposto completo do XML de várias maneiras, pois é muito pouco digitado e possui suporte simples para tipos básicos: Number, Bool, string, Objects and Arrays. Todo o resto basicamente tem que caber em uma corda. Isso não é bom ao tentar se comunicar através dos limites do idioma, pois você precisará seguir algumas especificações fora do padrão fora da banda, se desejar oferecer suporte a tipos mais específicos. No lado positivo, seu conjunto limitado de recursos faz um bom ajuste programático para a maioria dos idiomas - e é perfeitamente adequado para JavaScript, pois uma string JSON pode ser avaliada diretamente no objeto JavaScript.
Tamanho e desempenho
Eu tenho alguns benchmarks do banco de dados northwind disponíveis comparando o tamanho e a velocidade entre as implementações Microsofts XML e JSON. Basicamente, o XML é mais do que o dobro do tamanho do JSON, mas, ao mesmo tempo, parece que a Microsoft se esforçou muito para otimizar o XML DataContractSerializer, pois é mais de 30% mais rápido que o JSON. Parece que você precisa fazer uma troca entre tamanho e desempenho. Não satisfeito com esse fato, decidi escrever meu próprio JsonSerializer rápido, que agora é 2,6x mais rápido que o XML da MS - o melhor dos dois mundos :).
fonte
Eu escolheria XML sobre JSON se precisar validar a parte dos dados recebidos, porque o XML suporta isso nativamente por meio do XSD.
fonte
de JSON - os últimos pés
fonte
JSON é a codificação nativa para javascript. Deve ser muito mais rápido e fácil de trabalhar.
fonte
Desde a primeira linha em http://json.org/xml.html
Claramente, o JSON é mais rápido, mas é ainda mais claro que é difícil de ler. Use JSON para velocidade, use XML se houver interação humana e você possa sacrificar a velocidade.
fonte
Uso JSON para qualquer tipo de configuração, intercâmbio de dados ou mensagens. Só uso XML se for necessário por outros motivos ou para marcar semanticamente dados semelhantes a documentos.
fonte
XML e JSON são suportados pela Microsoft. Literais XML foram o novo recurso interessante do VB 9. Na próxima versão do ASP.NET 4.0, o JSON é obrigatório para aproveitar o poder do modelo de cliente.
A partir da pergunta que você fez, parece que o JSON pode ser a escolha certa, pois é fácil processar no lado do cliente com ou sem o jQuery.
fonte
Usando JSON
Usando XML
fonte
Achei este artigo no bazar digital realmente interessante.
Algumas partes do artigo são citadas abaixo.
Sobre os profissionais JSON:
Sobre profissionais de XML:
fonte
Regras rápidas:
Explicação:
A única função do JSON é serializar dados orientados a objetos usando os tipos de dados comuns à maioria das linguagens de programação: listas , hashes e escalares e, para esse fim, não podem ser superados ou aprimorados. A saber "JSON não tem número de versão [como] nenhuma revisão da gramática JSON é antecipada". - Douglas Crockford (Não pode superar isso como um sinal de que você faz seu trabalho perfeitamente)
O XML já foi vendido como um formato de troca de dados, mas considere os dois casos de uso mais comuns: Comunicação cliente-servidor assíncrona (AJAX) - o JSON praticamente substituiu o XML inteiramente (o X realmente deve ser um J) e serviços da Web : JSON fez do XML uma alternativa redundante.
A outra coisa para a qual XML foi amplamente utilizado foi arquivos de dados graváveis / legíveis (?) Humanos para programas, mas também aqui você tem um formato mais conciso, mais amigável ao programa e mais amigável ao humano no YAML, um superconjunto JSON.
Portanto, para representação de dados, o JSON supera o XML em geral. O que resta para o XML, então? Representação de documento de conteúdo misto, para o qual foi planejada .
fonte
A maioria das tecnologias da Web mais recentes funciona com JSON, portanto, é definitivamente um bom motivo para usar JSON. Uma grande vantagem é que, em XML, você pode representar de várias maneiras diferentes as mesmas informações, o que no JSON é mais direto.
JSON IMHO também é muito mais claro que XML, o que torna uma vantagem clara para mim. E se você estiver trabalhando com .NET, o Json.NET é um vencedor claro para ajudá-lo a trabalhar com JSON.
fonte