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

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

関連記事

MAMPのPHPからSQLite3データベースにアクセスして値を取得する

概要 みなさんこんにちはcandleです。MAMPのSQLiteデータベースとテーブルを作成して、レコードも挿入した事なので、値を取得してみましょう。 前提 phpのバージョンが5.3以上である SQ …

railsのrakeのmigrationファイルを削除しNO FILEとstatusに出た時の対処

概要 みなさんこんにちはcandleです。今回は誤ってデータベースに反映したマイグレーションファイルを不要だと思って削除した時に、NO FILEと出てきてしまった時の対処です。 言うなれば、下のような …

phpのsnappyライブラリをmacで使用して、webサイトのサムネイルを取得する

概要 みなさんこんにちはcandleです。今回はsnappyを使用して、ウェブサイトのサムネイルを自動的に取得したいとおもいます。 snappyはそれ自体がhtmlを画像にするスクリプトではなく、wk …

Mysqlのdatetime型とtimestanp型で保存されているデータを年月日だけを指定して任意の日にちのデータを取得する方法

概要 みなさんこんにちはcandleです。今日はmysqlのdatetime型とtimestanp型におさめられているデータの取得を紹介します。 datetimeやtimestanpは多くの場合下のよ …

MAMPのSQLiteManagerを使用してsqlite3データベースの作成とデータベースファイルの設置

概要 みなさんこんにちはcandleです。今回はsqliteデータベースをMAMPを使用して作成しましょう。 PHP5.3からsqlite3のクラスが充実して、mysqlを使用しなくてもsqliteで …

  • English
  • 日本語

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