JSONを使用するためだけにJSONを使用する必要があります


11

PHP / MySQlバックエンドを使用して、学習用のブログサイトを構築しています。すべてのユーザー入力は、POST要求で送信されたフォームで処理されます。

JSONを使用することで、機能がよりクリーンになり、機能の維持や追加が容易になりますか?または、理由もなく交換フォーマットを追加するだけですか?

それで、本質的に、JSONを使用することでどの機能が最もよく実装されるでしょうか?


4
代替手段は何ですか?独自のデータ形式を発明しますか?

@delnan:Yaml、CSV。私はおそらく他のいくつかを考えることができました。
ロバートハーベイ

10
めったに賢明な計画を使用するために、何とか使用することはほとんどありません。JSONの利点を確認し、JSONをこれらの特定の側面に使用する価値があるかどうかを検討してください。
whatsisname

@RobertHarvey:または、標準のHTTPフォーム。
cHao

7
I'm building a blogging site for learning-関連するテクノロジーを学習しますか?または他の人に資料を提供しますか?前者の場合、絶対に-それを使用するためにjsonを使用してください。新しいテクノロジーで自分自身に挑戦してください-さもなければ、あなたはそれらを使用する方法を学びません。

回答:


15

JSONにはいくつかの利点があります。

  • これは、既存の成熟したツールで検証および解析できる構造化された形式です。
  • JavaScriptと簡単に通信できるため、AJAX通信に非常に役立ちます。
  • 非常にシンプルで軽量です。XMLデータ交換に使用したいものはすべて、JSONが一般的に優れた代替手段です。

私の経験則では、呼び出しから単一のセマンティック要素のみを返す必要がある場合は、プレーンテキストとして送信します。ただし、複数の情報を返す必要がある場合は、JSONを使用してください。


6
それは代わりに、ほとんどのブラウザで利用可能なJSON.parse使用のJS部分と話す中で、これまでの値を取得するためにevalを使用しないでください
ラチェットフリーク

1
それ以来、同様にPHPに容易に話すjson_decode()json_encode()JSON文字列とネイティブの間で変換Array()データ構造
Izkata

@Izkataは、サーバーにこれらの機能がある場合のみ。
ダースエクグレシャス

フォーム送信の場合を除き、JSONを使用すると標準に違反します。壊れていないものを修正する理由
ブレンダン長い

2
@BrendanLong:この標準では、JSONの使用については言及していません。フォーム送信を行う場合は、明らかに、HTTP標準に従ってすべてのデータをエンコードする必要があります。ただし、送信するフォーム要素の1つが複数のセマンティック要素を含む複雑なアイテムである場合は、その要素をJSON形式(HTTPライブラリによって正しくエンコードされる)にするとよいでしょう。
メイソンウィーラー

5

あなたが説明すること-それはすべてがフォームを介して送信されるブログプラットフォームのように聞こえます-いいえ、あなたはそれをすべてJSONに変換する必要はありません。PHPはフォームをシームレスに処理します。その状況で新しい合併症を導入する理由はありません。

繰り返しますが、特定の状況では、JSONは、半構造化データ Webブラウザに送り返す必要がある場合に使用するものです。ブラウザ側では、JavaScriptでJSONを解析するのは非常に簡単です。


2

JSONは、Ajaxリクエストを使用してサーバーにデータを渡し、完全なポストバックを行わずに表示するデータを取得するJavaScriptの重いサイトを作成する場合にのみ役立ちます。JSONを使用してその機能を使用する意図がない場合は、コードを別のレイヤーにラップするだけで、シリアル化/非シリアル化して有用な処理を行う必要があります。


1

JSONを実装しても、サイトがそのまま改善されるとは思いません。JSONはJavaScript Object Notationです。したがって、JavaScriptも学習し始めていない限り、すべてがJSONであることを確認することに固有の価値はありません。


JSONを使用/乱用するためにJavaScriptを学ぶ必要はありません。言語に依存しません。
CokoBWare

0

JSONは非常に拡張性があり、適切に構造化されていますが、最速ではありません。

JSONは、エンコードに関する問題を解決するため、サーバーからクライアントにデータを送信するのに最適です。

ただし、サーバーでは、最大のパフォーマンスと最小のディスクスペース消費が必要です。したがって、テーブルの場合はMySQLカラムを使用する必要があり、テーブル以外の場合はバイナリ形式が推奨されます。

バイナリファイルの拡張性の問題を解決するには、構造名に4文字のコード、バージョンに1〜2バイトの数字を使用して構造にタグを付けます。


6
JSONはデータ形式であり、データベースではありません。
ロバートハーヴェイ

はい。ただし、配列の格納に使用できます。
Triang3l
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.