XMLをJSONに変換するサービスやプログラムをJSONで書くなど、最近JSONというのを見かけます。

XMLと似ているようなのですが、どう違うのですか?

・JSONを使う理由&使わない理由
・それでもXMLを使う理由&使わない理由
・JSONを勉強するために参考になるHPや本

それぞれのメリットや使い道など書いてください。
参考になるものがあったら、それもお願いします。
1つでもいいのでお願いします。
複数答えてくれる場合は、その分適当な事を書いてポイントを取っていいですよ。

回答の条件
  • 1人10回まで
  • 150 ptで終了
  • 登録:
  • 終了:2007/10/16 23:35:54
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

ただいまのポイント : ポイント2 pt / 150 pt ツリー表示 | 新着順
 

Javascriptではよく使います y-kawaz2007/10/15 19:35:29

>・JSONを使う理由&使わない理由

使う理由:

  • Javascriptが標準サポート
  • 記述がしやすい
  • 式やオブジェクトもそのまま利用できる
  • AJAXと組み合わせた場合にevalすることで簡単に扱える

使わない理由:

  • eval用途の場合セキュリティが問題になる
  • 式やオブジェクトなどを利用したりするとデータとしての汎用性が下がる(データ利用側の実行環境に依存)
  • javascript以外の言語でのパーサが少ない

>・それでもXMLを使う理由&使わない理由

使う理由:

  • 標準がある
  • →第3者とデータのやりとりをする際にトラブルが少ない
  • どの言語でもパーサやライブラリが豊富
  • エディタも豊富
  • XPathも便利

使わない理由:

  • 手書きする際にタイプ数が多いので只のテキストエディタだと閉じタグの対応ミスが起きやすい(XMLエディタ利用で解決する問題)
  • Javascript以外の言語では特別便利な形式なわけでもない

>・JSONを勉強するために参考になるHPや本

Google

JSON matsu-boolean2007/10/13 23:30:12

 JSONはJavaScript(ECMAScript)でオブジェクトを表す式そのものです。なので、HTTPレスポンスの文字列をそのままeval関数で解釈すればそのままJavaScriptで利用可能になります。読みやすいし、使いやすいので最近よく見かけるのですね。

 欠点としてはセキュリティ上の問題として、eval関数を使って解析すると、HTTPレスポンスとして渡された文字列に悪意のあるコードを埋め込めてしまうということです。このため信頼できるサイトからのHTTPレスポンス以外解釈しないようにするか、JSONを解釈できるJavaScriptのライブラリを使って解釈することになります。手軽に利用できるのがJSONの強みなのに後者の解決法ではなんだか本末転倒ですね。

 あとは、受け取り側(クライアント側)がJavaScript(ECMAScript)でない場合、やはりパーサーを用意しないといけないということで、XMLと比べてメリットが無いことになってしまいます。

 そんなところだと思います。

 

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません