1
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 1 year has passed since last update.

javascriptで@アットマークなどの特殊文字を含む場合のデータ参照でエラーが出る時の備忘録

Posted at

ニッチな事例ですいませんが、忘れててすごくハマってしまったので、同じように困った方のために残しておきます。入れ子としては良くあると思いつつ、何度か表現を忘れてしまう事がありましたので。

Javascriptで、例えばJSONデータを取得する際に、
「@」などの特殊な記号を含むデータ項目があった際に、
どういった表現(エスケープ的な方法)があるかを記載しておきます。

例えばjsonデータで、下記のようなネスト(階層化)されたものを
参照した際に、最下層のデータ項目にアクセスする際に
【親.子.孫】といった記載をする場合があると思います。(ドットでつなぐ)

【課題の例】

・大カテゴリー
・子カテゴリー
・孫(値) ★ここのデータにアクセスしたい
    データ項目名に「@が含まれている」@time など

【失敗例】


//パターン1
json.oya.ko.@mago;

//パターン2
json.oya.ko.[@]mago;

json.oya.ko.["@"]mago;

上記では、「@」は文字列扱いしてくれず、エラーになります。

エラーが出ない例(ドットを使わない)

json.oya.ko["@mago"];

上記であれば、文字列としてみてくれます。

しくじりポイントとしては、最終階層の中でどうにか表現しようとして、
失敗したことです。また、ドットで参照ばかりしていたので、
この入れ子的記載を忘れてしまった事です。

ちなみに、こちらは実際に、
「アットマークを含むデータ項目名」に出会い、
困っていたのですが、良い検索方法(Google)も思いつかず・・・

※政府が出しているオープンデータ(統計データ)にも
 こうした特殊文字があります。

JSベテランからしたら当たり前ではあると思いますので、
是非同じ悩みにあったJS初級~中級位の方のお役に立てたらと!

``

1
0
1

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
1
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?