CSS Selector Generator | CSS のセレクタ一覧を一発で自動生成!

15

01月2009年

JSONとActionscriptとFlashVarsとダブルクォーテーション

nagai 20:26 PM

  • はてなブックマークに登録
  • livedoorクリップに登録
  • Yahoo!ブックマークに登録
  • deliciousに追加

イメージ

ActionscriptにJSONでデータを渡す時に、ちょいと引っかかったので備忘録としてエントリ。

1. as3corelibを使って、FlashVars経由でJSONデータを取り込もうとする。

swfObject内記述

so.addVariable('jsonData','{"user":[{"date":"2009/01/01","impression":"20","click":"6","entry":"1"},{"date":"2009/01/03","impression":"200","click":"8","entry":"3"}]}');

Actionscript側はこんな感じ

import com.adobe.serialization.json.JSON;
var flashVars:Object = loaderInfo.parameters;
var json:Object = JSON.decode(flashVars.jsonData);

trace(json["user"][0]["date"])

→結果:ダメ 『{』しか出力されない

2. なんかダブルクォーテーションが怪しいっぽいので、バックスペース(\)でエスケープしてみる。

swfObject内記述

so.addVariable('jsonData','{\"user\":[{\"date\":\"2009/01/01\",\"impression\":\"20\",\"click\":\"6\",\"entry\":\"1\"},{\"date\":\"2009/01/03\",\"impression\":\"200\",\"click\":\"8\",\"entry\":\"3\"}]}');

→結果:ダメ やっぱり『{』しか出ない

3. そもそもJSONの書式が間違ってるんじゃないかと思い、チェックしてみる。

JSONLintでバリデートをかけてみた。

→結果:JSONの書式は問題なし えー。

4. やっぱりダブルクォーテーションが怪しいので、今度は文字参照(")で試してみる。

swfObject内記述

so.addVariable('jsonData','{"user":[{"date":"2009/01/01","impression":"20","click":"6","entry":"1"},{"date":"2009/01/03","impression":"200","click":"8","entry":"3"}]}');

→結果:成功! 『2009/01/01』と出力されました!

なんだコレだけのコトだったのか…
なんかシックリこないケド、とりあえず解決にしました…

その他、JSONの注意事項です。
・シングルクォーテーションはダメ
・16進数はダメ
・小数点はじまりの数値はダメ

バシャログスタッフによるWebサイト制作サービス

トラックバック

このエントリーのトラックバックURL
http://c-brains.jp/cgi-bin/mt/###/1769
###はmt-tb.cgiに変更してください。

コメントを投稿

ページの先頭へ

POPULAR TAGS
  • バシャログスタッフによるWebサイト制作サービス

ARCHIVE

特集

  • ステップアップ!CakePHP
  • 作って学ぶjQuery

RECENT COMMENTS

ty on Flashで動画を再生しよう!第 3 回 FLVプレーヤーをつくろう1/2。
お返事ありがとうございます。説明が足りなかったようで、もう少
minami on 【Fireworks】Fireworks の振る舞い 基本的なとこ
> nishiuraさん コメントありがとうございます。
minami on Flashで動画を再生しよう!第 3 回 FLVプレーヤーをつくろう1/2。
> tyさん コメントありがとうございます。 コンポーネント
ty on Flashで動画を再生しよう!第 3 回 FLVプレーヤーをつくろう1/2。
参考にさせていただきました。ありがとうございました。 とこ
Chakotay on 【Fireworks】Fireworks の振る舞い 基本的なとこ
現場では上級のデザイナーの人、レベルの高いセンスのあるデザイ