Devo usar JSON apenas para usar JSON


11

Estou construindo um site de blog para aprender, com um back-end PHP / MySQl. Toda a entrada do usuário é manipulada com os formulários enviados nas solicitações POST.

De alguma forma, o uso do JSON o tornará mais limpo ou mais fácil de manter ou adicionar recursos? Ou estou apenas adicionando um formato de intercâmbio sem motivo?

Então, essencialmente, qual funcionalidade seria melhor implementada usando JSON?


4
Qual a alternativa? Inventando seu próprio formato de dados?

@delnan: Yaml, CSV. Eu provavelmente poderia pensar em alguns outros.
Robert Harvey

10
Raramente está usando blá por usar um plano sábio. Veja o que o JSON é bom e considere se vale a pena usar o JSON para esses aspectos específicos.
Whatsisname 18/12/12

@RobertHarvey: Ou, formulários HTTP padrão.
cHao 18/12/12

7
I'm building a blogging site for learning- você está aprendendo as tecnologias associadas? ou fornecer material para terceiros? Se o primeiro, use absolutamente o json para usá-lo, assim você aprenderá a usá-lo. Desafie-se com as novas tecnologias - caso contrário, você não aprenderá como usá-las.

Respostas:


15

O JSON tem algumas vantagens:

  • É um formato estruturado, que pode ser validado e analisado com ferramentas maduras existentes.
  • Ele pode falar facilmente com JavaScript, o que o torna muito útil para a comunicação AJAX.
  • É extremamente simples e leve. Para o que você deseja usar o intercâmbio de dados XML, o JSON geralmente é uma alternativa melhor.

Minha regra geral é que, se você precisar apenas retornar um único elemento semântico de uma chamada, envie-o como texto sem formatação. Mas se você precisar retornar várias informações, use JSON.


6
no falar com JS parte não nunca usar eval para obter o valor do mesmo, em vez usar JSON.parse disponível na maioria dos navegadores
aberração catraca

1
Ela fala facilmente para PHP, bem como, uma vez json_decode()e json_encode()converso entre uma string JSON eo nativo Array()estrutura de dados
Izkata

@ Izkata apenas se o seu servidor tiver essas funções.
Darth Egrégio

Exceto no caso de envio de formulário, o uso de JSON quebra os padrões . Por que consertar o que não está quebrado?
Brendan Long

2
@BrendanLong: Esse padrão não diz nada sobre o uso ou não do JSON. Obviamente, se você estiver enviando um formulário, codifique todos os dados de acordo com o padrão HTTP. Mas se um dos elementos do formulário que você está enviando for um item complexo que contém vários elementos semânticos, colocar esse elemento no formato JSON (que é codificado corretamente pela sua biblioteca HTTP) é uma boa maneira de fazê-lo.
Mason Wheeler

5

Pelo que você descreve - parece uma plataforma de blog onde tudo é enviado por meio de formulários - não, você não precisa converter tudo em JSON. O PHP lida com formulários perfeitamente para você. Não há razão para introduzir uma nova complicação nessa situação.

Novamente, em sua circunstância específica , o JSON pode ser algo que você usaria se precisasse enviar dados semiestruturados de volta ao navegador da web. No lado do navegador, o JSON seria muito fácil de analisar em javascript.


2

O JSON é útil apenas se você pretende criar um site pesado em JavaScript que use solicitações do Ajax para transmitir dados ao servidor / obter dados para exibição sem fazer uma postagem completa. Se você não tem intenção de fazer uso dessa funcionalidade, o JSON está apenas envolvendo seu código em outra camada que precisa ser serializada / desserializada para fazer algo útil.


1

Não acho que a implementação do JSON melhore o seu site como está. JSON é JavaScript Object Notation; portanto, a menos que você esteja começando a aprender JavaScript também, não vejo um valor inerente para garantir que tudo esteja em JSON.


Você não precisa aprender JavaScript para usar / abusar do JSON. É independente da linguagem.
CokoBWare

0

Embora o JSON seja muito extensível e bem estruturado, não é o mais rápido.

O JSON é ótimo para enviar dados do servidor para os clientes, porque resolve problemas com a codificação.

Mas no servidor, você precisa de desempenho máximo e consumo mínimo de espaço em disco. Portanto, para tabelas, você deve usar colunas MySQL e, para não tabelas, é preferível um formato binário.

Para resolver problemas de extensibilidade com arquivos binários, você pode marcar suas estruturas com um código de 4 caracteres para o nome da estrutura e um número de 1-2 bytes para a versão.


6
JSON é um formato de dados, não um banco de dados.
Robert Harvey

Sim, mas pode ser usado para armazenar matrizes.
Triang3l
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.