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

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

関連記事

react nativeのandroidでfailed to find Build Tools revision 23.0.1エラーが出る時の対処

概要 みなさんこんにちは、candleです。今回はreact nativeでrun-androidでbuildが失敗する時の対処です。 私の場合最新のandroid-sdkを入れたところ、以下のような …

reactで最もシンプルなドロップダウンメニューを作成

概要 みなさんこんにちはcandleです。今回はreactで最もシンプルなドロップダウンメニューを作ってみたいと思います。 前提 Reactの知識がある 準備 以下のコマンドでreactプロジェクトを …

sphinxでpythonのクラスや関数のドキュメントを自動生成する

概要 みなさんこんにちはcandleです。今回はpythonのSphinxを使ってクラスや関数の説明を自動生成します。 前提 Python3を使って説明しますが、おそらくpython2でも動くと思いま …

Rails pluginを使ったgemの作り方[4](controller helper編)

概要 みなさんこんにちはcandleです。今回はgemの中枢とも言えるhelperの作り方です。 helperというのは様はgemにすることで便利になる関数を作るとというイメージです。 例えば、con …

railsのaws-sdk gemを使ってs3に画像ファイルをフォームからアップロードする

概要 みなさんこんにちはcandleです。比較的難しいrailsからs3に画像をアップロードする方法を試してみましょう。 一般にサーバ環境にはスケーラビリティ(アクセスの規模に応じて、動的にサーバを動 …

  • English
  • 日本語

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