Macの「メモ」を使うときの注意

Mac(OS)には「メモ」というアプリケーションが標準で入っています。
これはiPhone(iOS)に標準で入っている「メモ」と同期させることができます。
またWindowsならばブラウザでiCloudを開けば「メモ」を見たり編集したりできます。 (さらに…)

GoogleカレンダーにCSVファイルから予定をインポートする方法

GoogleカレンダーはCSVファイルを使って一括して予定をインポートすることができます。ポイントとなるのはCSVファイルの作り方。
次の項目が設定できます。 (さらに…)

Twitterのテキストボックスに入力するためのURL

次の通り書くとTwitterの投稿用のテキストボックスに投稿内容が表示されます。

http://twitter.com/home?status=(投稿内容)

日本語は文字化けするのでエンコードしないとダメだろうけど。

JSONに関するメモ

JSON形式のデータは次のような文字列で表される。

[{"id":"1","name":"suzuki"},{"id":"2","name":"satou"}]

JavaScriptではそのまま配列変数として使える。
※この場合は2次元の配列となる。

recs=[{"id":"1","name":"suzuki"},{"id":"2","name":"satou"}];
alert(recs[1]["name"]);

このようにすると「satou」と表示される。
※0番目からカウントしたときの1番目の「name」である「satou」が表示される。

JSON形式のデータが外部ファイルのときは次のようにする。
※この例では外部ファイルは「test.json」である。

req = new ActiveXObject("Microsoft.XMLHTTP");
req.open("GET","test.json",false);
req.send();
text=req.responseText;
recs=eval("("+text+")");

ここでポイントはevalを使うことである。
単に「recs=text」としてしまうと

recs='[{"id":"1","name":"suzuki"},{"id":"2","name":"satou"}]';

と同じことになり、文字列として読み込んでしまう。
evalを使うとJavaScriptで使える形式に変換してくれる。

JSONはXMLよりもシンプルであり、JavaScriptにおいてはCSVよりも簡単に扱える。

text="1,suzuki;2,satou";

を配列に読み込むには

recs=new Array();
lines=text.split(";");
for(i=0;i<lines.length;i++){
  recs[i]=lines[i].split(",");
}

のような手順が必要である。
JSONならば

text='[{"id":"1","name":"suzuki"},{"id":"2","name":"satou"}]';
recs=eval(text);

で済んでしまう。

JSON形式のデータは途中に改行が入っていても構わない。また入れ子にすることもできる。

[
  {"id":"1","name":"suzuki"},
  {"id":"2","name":"satou"},
  {"id":"3","name":"yamada",
    "kodomo":{"namae":"ichiro","age":"5"}
  }
]

このような書き方ができる。

recs[2]["kodomo"]["namae"]

とすると「ichiro」が取得できる。
また

recs[2].kodomo.namae

と書いても取得できる。

ブックマークレットの簡単な作り方

ブックマークレットの簡単な作り方は次のとおり。
なお、Internet Explorerで動作を確認した。

  1. JavaScriptで実行したいことを書く。
  2. JavaScriptの中身をコピーし、次の○○○○の部分に貼り付ける。
    javascript:(function(){○○○○})()

基本的にはこれでブックマークレットの完成である。

(さらに…)

JavaScriptのescapeとencodeURIとencodeURIComponentの違い

JavaScriptで、エンコードに使われる、escapeとencodeURIとencodeURIComponentについて、その違いを一覧にしてみました。
経験的には、ブックマークレットを作るときにはencodeURIで変換しておくとよいように思います。
ブラウザによっても違うかもしれませんが。
(さらに…)

JavaScriptのfor...in ステートメント

配列の中にある要素についてそれぞれ処理をする場合は次のようにforステートメントを使うのが一般的である。
次の例は配列の要素をそれぞれ括弧で挟み繋げる。

arrs=new Array("q","w","e","r");
ret="";
for(i=0;i<arrs.length;i++){
    ret+="("+arrs[i]+")";
}
document.write(ret);

結果
(q)(w)(e)(r)

また、次のようにfor...inステートメントを使う方法もある。
(さらに…)


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報