0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AE JSONデータがエラーではじかれる (ドツボにハマった事例)

Last updated at Posted at 2018-09-27

#やりたい事
AEのエクスプレッションの数値などjsonファイルで制御
しかし出来ない・・・
jsonファイルインポートエラーではじかれる・・・

#めちゃめちゃ解決に時間がかかりました。

ネットで落ちているJSONファイルはインポート出来るのに、自分で作成したファイルはインポートできない事態になっておりました。

まずdreamweaverで作成したjsonが何故エラーかと言いますと、dreamweaverは"(ダブルクォーテーション)を打つと自動的にブラケットを閉じる為 " "二個自動で付きます。
extendscriptをやってるとそんな機能が無いので自分で "string"とダブルクォーテーションを2つ打ちます。
その癖で""とdreamweaver上で打つと  " " " 3つ付いている事になります。また厄介な事にdreamweaver上では間の二つ目のダブルクォーテーションが見えなくなってしまいます。
だからエラーを吐かれてもどこが間違っているのかわからない状態になってしまいました。
設定方法を教えてもらったが、ちょっとAEのJSONを書くのには別のテキストエディタnote++を使う事にします。。。

はぁー。変な事に時間を費やしてしまいました。。。

#基本的な使い方
###JSONデータの書き方はこう。

sample000.json

{
	"name":"youtool",
	"sex":"male"
}

###AEでの使い方はこう。
dataValue または sourceData
どちらかでデータを取ってこれる。
dataValue は配列で呼ぶ
sourceDataは文字列で呼ぶ(多分そんな感じ)

//sample000.jsonには配列として[0][1]しかないから単純ですね。
footage("sample000.json").dataValue([0]);//これでyoutoolの名前が取れます。
footage("sample000.json").dataValue([1]);//これで生別のmaleが取れます。
//sourceDataで取得する場合は
footage("sample000.json").sourceData.name
footage("sample000.json").sourceData.sex

//今テストでやったらこういう形でも取得出来た
footage("sample000.json").dataValue([name]);//これでもデータ取れました。

#JSONデータのパターン参考
###その1
sample001.json

{
	"person":{"name":"youtool","sex":"male"},
	"person01":{"name":"yamada","sex":"female"}
}
footage("sample001.json").dataValue([1,0])//yamadaが取れる
footage("sample001.json").sourceData.person01.name//yamadaが取れる

###その2
sample002.json

{
	"persons00":[
		{"name":"youtool","age":35},
		{"name":"yamada","age":28}
	],
	"persons01":[
		{"name":"hanako","age":8},
		{"name":"tarou","age":3},
		{"sub":[
			{"name":"kaori","age":23},
			{"name":"kanako","age":18}
		]}
	]
}
footage("sample002.json").dataValue([0,0,0]) //youtool
footage("sample002.json").sourceData.persons00[1].name //yamada
footage("sample002.json").sourceData.persons01[1].name //tarou
footage("sample002.json").sourceData.persons01[2].sub[1].name //kanako
footage("sample002.json").dataValue([1,2,0,0,1]) //23

ちなみにjson内に改行コードを入れたい場合は
「//n」で改行出来ます。

"text" : "この後に改行コード\\n入った!!"

//result
この後に改行コード
入った!!
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?