GoogleカレンダーにCSVファイルから予定をインポートする方法
ポイントとなるのはCSVファイルの作り方。
次の項目が設定できます。 続きを読む…
ポイントとなるのはCSVファイルの作り方。
次の項目が設定できます。 続きを読む…
次の通り書くとTwitterの投稿用のテキストボックスに投稿内容が表示されます。
http://twitter.com/home?status=(投稿内容)
日本語は文字化けするのでエンコードしないとダメだろうけど。
Excelの次のような表をJSON形式にするVBAです。
| id | name | date |
|---|---|---|
| 1 | a1 | 20081010 |
| 2 | a2 | 20081011 |
| 3 | a3 | 20081012 |
| 4 | a4 | 20081013 |
| 5 | a5 | 20081014 |
| 6 | a6 | 20081015 |
| 7 | a7 | 20081016 |
| 8 | a8 | 20081017 |
| 9 | a9 | 20081018 |
| 10 | a10 | 20081019 |
新しいシートを開き、そこにJSON形式のテキストを出力します。 続きを読む…
JSON形式のデータは次のような文字列で表される。
[{"id":"1","name":"suzuki"},{"id":"2","name":"satou"}]
JavaScriptではそのまま配列変数として使える。
※この場合は2次元の配列となる。
var 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
とかいても取得できる。
JavaScriptのsortの基本についてメモする。
配列はそのまま表示すると、カンマで区切られて表示される。
ars=new Array(1,3,2,5,4);
document.write(ars);
結果
1,3,2,5,4
ブックマークレットの簡単な作り方は次のとおり。
なお、Internet Explorerで動作を確認した。
基本的にはこれでブックマークレットの完成である。
JavaScriptで、エンコードに使われる、escapeとencodeURIとencodeURIComponentについて、その違いを一覧にしてみました。
経験的には、ブックマークレットを作るときにはencodeURIで変換しておくとよいように思います。
ブラウザによっても違うかもしれませんが。
続きを読む…
配列の中にある要素についてそれぞれ処理をする場合は次のように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ステートメントを使う方法もある。
続きを読む…
最近のコメント