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

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

関連記事

scikit-learnの4つの関数で機械学習などのデータを前処理する

概要 皆んさんこんにちはcandleです。今回はpythonの機械学習ライブラリ『scikit-learn』を使い、データの前処理をしてみます。 scikit-learnでは変換器と呼ばれるものを使い …

Rails pluginでengineを使ったgemの作り方[6](config編)

概要 みなさんこんにちはcandleです。今回は前回に引き続き、gemの作成をやっていきます。 gemのconfigとは恐らく一般的に以下の様な状況の時に使う事になると思います。 例えば、gemのプロ …

wordpressのbogoプラグインのショートコードをカスタマイズする

English 日本語 概要 みなさんこんにちはcandleです。 今回はwordpress bogoのショートコードをカスタマイズしてみたいと思います。 紹介する項目は以下の2つです。 国旗の表示、 …

railsのroutesでhttpのGETやPOSTを指定してルーティングを表示する

概要 みんさんこんにちはcandleです。今回は少し頭をひねれば分かる事ですが、少し迷ったので、記事にまとめました。 railsですごいwebアプリケーションを作っていると、ルーティングが複雑きわまり …

railsのrakeで作成したカラムの型とdefault値を変更する方法

概要 みなさんこんにちはcandleです。今回はrakeコマンドのややこしいところを扱います。 rakeコマンドはわりと便利で、データベースのカラムの追加や型の変更をマイグレーションファイルから読み込 …

  • English
  • 日本語

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