下記のようなJSONデータを50音順でソートしたいのですが、
どうすれば良いでしょうか?

{
 "human": {
 "artist": [
  {
  "link": "goo1.html",
  "name": "小田 和正",
  "yomi": "おだかずまさ"
  },
  {
  "link": "goo2.html",
  "name": "岩佐美咲",
  "yomi": "いわさみさき"
  },
  {
  "link": "goo3.html",
  "name": "指原莉乃",
  "yomi": "しのはらりの"
  },
 ]
 }
}

A 回答 (1件)

javascriptには配列をソートするメソッドがありますので、それを利用すればよろしいかと。




例えば、yomi順にソートする例
(以下の例では、直接並び替えずにtest配列に移し変えてソートしています)

var json = {
 "human": {
  "artist": [
   {
    "link": "goo1.html",
    "name": "小田 和正",
    "yomi": "おだかずまさ"
   },
   {
    "link": "goo2.html",
    "name": "岩佐美咲",
    "yomi": "いわさみさき"
   },
   {
    "link": "goo3.html",
    "name": "指原莉乃",
    "yomi": "しのはらりの"
   }
  ]
 }
};


// 並べ替え用の配列に格納
var i, test = [];
var artist = json.human.artist;
var n = artist.length;

for(i=0; i<n; i++)
 test[i] = [ artist[i].yomi, artist[i] ];


// 並べ替え
test.sort();
for(i=0; i<n; i++)
 test[i] = test[i][1];


// 結果をテスト表示してみる
var t, result = "";
for(i=0; t=test[i++];)
 result += (result?"\n":"") + "link=" + t.link + " / name=" + t.name + " / yomi=" + t.yomi;

alert(result);
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
期待した通りに動作しました。
大変参考になりました!

お礼日時:2012/06/28 00:38

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

このQ&Aを見た人はこんなQ&Aも見ています

今、見られている記事はコレ!

  • カウントダウンしたいことある?

    大晦日は、2011年最後の1日です。天皇陛下が「心の重い年」と表現されたように、3月11日の未曽有の大惨事は本当に大変な出来事でした。今年の漢字として選ばれた「絆」が我々にとって大切なものであると強く感じさせ...

  • 美人は得?実は損してる?ニコニコニュースユーザーの意見をまとめてみた

    先日、教えて!gooでは「やっぱり美人は得してる!それでも『顔より性格が大事』と言える?」という記事をリリースした。記事では、「女は顔が命だと思うんですが、皆さんの正直な気持ちは?」という問いかけについ...

  • ポケモンGOにハマる子供たち 大人はどう接すればよいのか

    ポケモンGOが上陸直後から大ブームになっている。夏休みということもあり、町に出ればスマホを手にゲームに熱中する子供の姿も頻繁に見掛ける。親子で楽しく散歩しながらポケモンを手に入れる姿はほほえましくもある...

  • 不潔な彼をどうにかしたい!

    最近は男性用化粧品が普及して小綺麗な男子が増えているが、まだまだ身だしなみなどどうでもいい男子がいるようだ。「教えて!goo」 の中に「不潔で男らしくない彼氏と喧嘩し、別れようかとなやんでいます」という投...

  • ゲーム業界ダンナ観察日記:第77話「サンドス」

    ダンナ様のねむねむ。奥様のとぽすけ。ごく普通のふたりは、ごく普通の結婚をし、だらだらと夫婦生活を送っていました。でもただひとつ違っていたのは、ダンナ様はゲーム会社勤務だったのです。

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ