joppot

コピペで絶対動く。説明を妥協しない

プログラミング

javascriptでのJSONの大きさ(サイズ)の取得

投稿日:2014年2月21日 更新日:


feaw

概要

みなさんこんにちはcandleです。今回はプログラミングで少し手間取ったJSONサイズ取得の問題について書いていこうと思います。

JSONはjavascirptでわりと多く使われるオブジェクト型です。

JSONオブジェクトにどれくらいのデータが入っているか取得する方法が分かりませんでした。
調べていくうちに、Stack Overflowに上がっていたのを見て解決しました。

サンプルソース

下のソースコードをもとにJSONのサイズを取得し表示します。

ファイル名は「showjsonsize.html」としました。
ちなみに、間違った取得の方法も書いてあります。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>jsonのサイズを確認</title>
  </head>
  <body>
    <script src="https://code.jquery.com/jquery.js"></script>
    <script>
      //JSONオブジェクトを作成
      var data={"0":"black","1":"white","2":"red","3":"blue"};
      //JSONからwhiteを取得  
      console.log(data["1"]);
      //配列の大きさを求める方法でJSONの大きさを求めてみる
      console.log("この結果はlengthを使った結果です。=> "+data.length);
      //JQueryのsize関数を使ってみる
      console.log("この結果はsize()を使った結果です。=> "+$(data).size());
      //JSONのサイズを表示する
      console.log("この結果はObject.keysを使った結果です。=> "+Object.keys(data).length);
    </script>
  </body>
</html>

JSONのサイズを取得する

JSONのサイズを取得する一般式は下の書き方です。

Object.keys(JSONオブジェクト).length

サンプルソースをもとに説明します。dataというJSONオブジェクトは4つのデータが入っています。

var data={"0":"black","1":"white","2":"red","3":"blue"};

故に、下の様に書けば、dataのサイズ4が取得できるはずです。

Object.keys(data).length;

ブラウザで確認すると無事に4と表示されました。

上2つはlengthとJQueryのsizeを使った間違った取得のやり方です。

まとめ

今回はJSONが簡単な構造だからサイズが取得できましたが、入れ子構造になった時は恐らく、これほど簡単に取得はできないでしょう。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-プログラミング
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Railsの正規表現を使用して文字列から任意の文字を取得する

概要 みなさんこんにちはcandleです。今回はrailsの正規表現を使って任意の文字を文字列から取得する方法を紹介します。 rails4になってからなのか、railsはrubyであるにもかかわらず、 …

cakephp2.5.6をfabric+cuisineを使用してインストールする

概要 みなさんこんにちはcandleです。今回はcakephp2.5.6の環境構築をfabricを使用して、インストールしてみましょう。cakephpはrailsと比べると100倍くらい簡単に環境構築 …

emacsでplantUMLをplantuml-modeを使って作成する

Autumn leaves on wood table 概要 みなさんこんにちはcandleです。今回はplantUMLをサポートするemacsのplantuml-modeを導入して使ってみましょう。 …

railsのsimple-captcha gemを使用してform_forを使ったフォームを画像認証する

概要 みなさんこんにちはcandleです。公に開かれたフォームはスパムや総当り攻撃を受けやすいです。 そこで、画像認証を導入して、悪意のあるフォームを拒否してみましょう。 simple-captcha …

ruby on railsのckeditor gemの使い方をscaffoldを用いて解説する

概要 みなさんこんにちはcandleです。今回はruby on railsのckeditorという素晴らしいgemを使って見たいと思います。 ckeditorとはweb版の高機能なwordとかテキスト …

  • English
  • 日本語

ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー