プロが教えるわが家の防犯対策術!

JSONについて調べると、
・XMLよりも軽量で扱いやすい
・javascriptやphpから使う
上記のような説明と簡単にコードの書き方くらいしか説明されていません。
どういった場合にJSONは利用できるのかイメージを沸かせたいです。

例えば、トップページに新着情報があり、過去の新着情報を一覧として見れるページがあるとします。そして、過去の新着情報一覧のページにある新着情報を新着順に10件選び、選んだ10件をトップページの新着情報に表示させる場合に使う。

こんなイメージで間違っていないでしょうか。

A 回答 (4件)

>

http://blogs.dion.ne.jp/kotemaru/archives/2011-0 …
> こちらを参考にすると、CSVよりもJSONの方が軽いそうなのですが、

・Python版は XML or CSV のようだ
・(XMLより)JSONの方が軽い
・CSVは簡易形式としては便利だけどBigtableを完全に表現できない
・(だから)まずデータ形式はJSONとする。

という意味で書いている文章だと思います。JSONの方が軽い,という箇所は,XMLの方だけに掛かっているはずです。一般的にJSONよりCSVの方が軽いと言えるでしょう。


> 小量の場合にCSVを使う利点は何でしょうか。

表計算ソフトで作成した最も基本的な2次元表のようにデータ形式が単純なら扱いやすい,ExcelなどからそのままCSV出力できるというのが利点でしょうか。

例えば,CSV形式の例がこんな風であるのに対して,

"postal","x","y","line","name"
"6770039","134.997666","35.002054","JR加古川線","日本へそ公園"
"6770033","134.995740","34.988777","JR加古川線","比延"
"6790313","134.992545","35.022740","JR加古川線","黒田庄"

JSON形式の例はこうなります。

{"station":[
{"postal":"6770039","x":134.997666,"y":35.002054,"line":"JR加古川線","name":"日本へそ公園"},
{"postal":"6770033","x":134.995740,"y":34.988777,"line":"JR加古川線","name":"比延"},
{"postal":"6790313","x":134.992545,"y":35.022740,"line":"JR加古川線","name":"黒田庄"}
]}

CSVと比較したJSONの特徴として次のようなことは言えるでしょう。

・属性名が繰り返し記録されている分だけ,CSVよりもサイズは大きい。
・繰り返し登場している各情報は「配列 station[] の要素である」という上位の情報までJSONでは表現できている。
・つまり最も基本的な2次元表的なデータ形式だけでなく「階層構造をもった情報は、階層構造をそのまま表記できる(ANo.2)」

JSONの名が示すとおり,JavaScriptで用いられるオブジェクト表記法(Object Notation)だということです。
    • good
    • 0
この回答へのお礼

参考になりました。具体的に有難うございます。

お礼日時:2012/03/13 21:25

[No.2]のお礼に対する回答ね。



「こちらを参考にすると、CSVよりもJSONの方が 軽いそうなのですが、……」

参考のページは、ちょっと誤解をまねくかきかただね。本人も XML と JSON の比較のつもりで書いているんじゃない?

自分の予想をもっと信じていいとおもうよ。
    • good
    • 0
この回答へのお礼

分かりました。有難うございました。

お礼日時:2012/03/13 21:24

[No.1] さんも書いているけれど、JSON は、情報をテキストで表記するための書式のひとつにすぎないよ。



例えで質問者さんがあげている新着情報だと、一つの新着情報に必要な項目は、たかだか
- 日時
- 見出し
- 詳細
ぐらいでしょ?

多少項目が増えることはあってもこれぐらいなら、表形式の情報表記書式、タブ区切りテキストやカンマ区切りテキスト(CSV)で十分だよね。

でも、もっと複雑な情報、例えば組織図をイメージして、そして、その組織図を表形式であらわせるかためしてみて?

表形式のデータベースを学んだひとなら、できなくもないけれど、とても扱いずらいよ?

組織図のような、階層構造をもった情報は、階層構造をそのまま表記できる JSON 書式がまさに最適だね。

もっと複雑な情報なら XML をつかえば、たいていまかなえるよ。

つまり、情報の複雑さにあわせて、情報表記の書式を選べばいいということになるかな?
    • good
    • 0
この回答へのお礼

ありがとうございます。CSVというのもあるのですね。
1点疑問があります。JSONよりもCSVの方が軽いので
CSVで複雑にならない程度の量ならCSVを使うべきと予想したのですが、
http://blogs.dion.ne.jp/kotemaru/archives/2011-0 …
こちらを参考にすると、CSVよりもJSONの方が軽いそうなのですが、
小量の場合にCSVを使う利点は何でしょうか。

http://sookibizviz.blog81.fc2.com/blog-entry-175 …
こちらもJSON、CSV、XMLの参考になりました。

お礼日時:2012/03/11 01:04

例として,下記リンク先にアクセスして,各APIの説明ごとに紹介されている「サンプルレスポンス」のURLをクリックしてください。

JSON形式のデータが閲覧できます。
http://express.heartrails.com/api.html

ということで。
JSONはデータ表現形式のひとつですから,質問文にあるような場合はもちろん,他のどんな場合にも使えるといってよいでしょう。
    • good
    • 0
この回答へのお礼

XMLのようにコードを書いていろいろ動きを作るものと思っていましたが、
JSONはただコードをテキスト化したものということなんですね。
ありがとうございました。

お礼日時:2012/03/11 00:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!