Dois-je utiliser JSON juste pour utiliser JSON

11

Je construis un site de blogging pour l'apprentissage, avec un back-end PHP / MySQl. Toutes les entrées utilisateur sont traitées avec des formulaires envoyés dans des requêtes POST.

Est-ce que l'utilisation de JSON le rendra plus propre ou plus facile à maintenir ou à ajouter des fonctionnalités? Ou suis-je en train d'ajouter un format d'échange sans raison?

Donc, essentiellement, quelle fonctionnalité serait la mieux implémentée en utilisant JSON?

JonOsterman
la source
4
Quelle est l'alternative? Vous inventez votre propre format de données?
@delnan: Yaml, CSV. Je pourrais probablement penser à quelques autres.
Robert Harvey
10
Est rarement en utilisant bla pour le plaisir d'utiliser bla un plan sage. Examinez les avantages de JSON, puis déterminez s'il vaut la peine d'utiliser JSON pour ces aspects spécifiques.
whatsisname
@RobertHarvey: Ou, des formulaires HTTP standard.
cHao
7
I'm building a blogging site for learning- votre apprentissage des technologies associées? ou pour fournir du matériel à d'autres? Si le premier, absolument - utilisez json pour le plaisir de l'utiliser afin que vous appreniez à l'utiliser. Mettez-vous au défi avec les nouvelles technologies - sinon, vous n'apprendrez pas à les utiliser.

Réponses:

15

JSON présente quelques avantages:

  • C'est un format structuré, qui peut être validé et analysé avec des outils existants et matures.
  • Il peut parler facilement en JavaScript, ce qui le rend très utile pour la communication AJAX.
  • C'est extrêmement simple et léger. Tout ce que vous souhaitez utiliser pour l'échange de données XML, JSON est généralement une meilleure alternative.

Ma règle de base est, si vous avez seulement besoin de retourner un seul élément sémantique à partir d'un appel, envoyez-le en texte brut. Mais si vous devez renvoyer plusieurs informations, utilisez JSON.

Mason Wheeler
la source
6
dans la partie parlant avec JS, n'utilisez jamais eval pour en obtenir la valeur, utilisez plutôt JSON.parse disponible dans la plupart des navigateurs
ratchet freak
1
Il parle aussi facilement à PHP, car json_decode()et json_encode()convertit entre une chaîne JSON et la Array()structure de données native
Izkata
@Izkata uniquement si votre serveur possède ces fonctions.
Darth Egregious
Sauf dans le cas de la soumission d'un formulaire, l'utilisation de JSON enfreint les normes . Pourquoi réparer ce qui n'est pas cassé?
Brendan Long
2
@BrendanLong: Cette norme ne dit rien sur l'utilisation ou la non-utilisation de JSON. Évidemment, si vous effectuez une soumission de formulaire, vous devez coder toutes les données conformément à la norme HTTP. Mais si l'un des éléments de formulaire que vous envoyez est un élément complexe contenant plusieurs éléments sémantiques, mettre cet élément au format JSON (qui est ensuite encodé correctement par votre bibliothèque HTTP) est un bon moyen de le faire.
Mason Wheeler
5

Pour ce que vous décrivez - cela ressemble à une plate-forme de blogs où tout est soumis via des formulaires - non, vous n'avez pas besoin de tout convertir en JSON. PHP gère les formulaires de manière transparente pour vous. Il n'y a aucune raison d'introduire une nouvelle complication dans cette situation.

Encore une fois, dans votre cas particulier , JSON pourrait être quelque chose que vous utiliseriez si vous aviez besoin de renvoyer des données semi-structurées au navigateur Web. Côté navigateur, le JSON serait très facile à analyser en javascript.

GrandmasterB
la source
2

JSON n'est utile que si vous avez l'intention de créer un site lourd JavaScript qui utilise des requêtes Ajax pour transmettre des données au serveur / obtenir des données à afficher sans effectuer un post-back complet. Si vous n'avez pas l'intention d'utiliser cette fonctionnalité, utiliser JSON consiste simplement à emballer votre code dans une autre couche qui doit être sérialisée / désérialisée pour faire quelque chose d'utile.

Ryathal
la source
1

Je ne pense pas que l'implémentation de JSON améliorera intrinsèquement votre site tel quel. JSON est la notation d'objet JavaScript; donc à moins que vous ne commenciez à apprendre JavaScript également, je ne vois pas de valeur inhérente à ce que tout soit en JSON.

Honus Wagner
la source
Vous n'avez pas besoin d'apprendre JavaScript pour utiliser / abuser de JSON. C'est indépendant de la langue.
CokoBWare
0

Bien que JSON soit très extensible et bien structuré, ce n'est pas le plus rapide.

JSON est idéal pour envoyer des données du serveur aux clients, car il résout les problèmes d'encodage.

Mais sur le serveur, vous avez besoin de performances maximales et d'une consommation d'espace disque minimale. Donc, pour les tables, vous devez utiliser des colonnes MySQL, et pour les non-tables, un format binaire est préféré.

Pour résoudre les problèmes d'extensibilité avec les fichiers binaires, vous pouvez étiqueter vos structures avec un code à 4 caractères pour le nom de la structure et un numéro de 1 à 2 octets pour la version.

Triang3l
la source
6
JSON est un format de données, pas une base de données.
Robert Harvey
Oui, mais il peut être utilisé pour stocker des tableaux.
Triang3l