JS上でJSONを扱う

JS上でJSONを扱う:

こんにちは。お世話になってます。jsでjsonを扱う方法です。


JSONとは?

jsonとは、データ形式のひとつで、よくデータを受け渡す時に使われます。

たとえば、


無題.jpg


こういうのもjsonの一つ(のはず)。

このJSONと言うのは、JavaScriptにすごく親和性が高いものです。

(なにしろ、JSONの正式名称はJavaScript Object Notationですから)


JSでJSONを扱ってみようか


宣言

var json={ 
    "Key1":"value1", 
    "Key2":"value2", 
    "Key3":"value3" 
} 
見てのとおり、jsonはオブジェクトなんですね。


値の参照

var json={ 
    "Key1":"value1", 
    "Key2":"value2", 
    "Key3":"value3" 
} 
console.log(json.Key1);//value1 が帰ってくる 


もう少し掘り下げると。。。


JSONの決まり

まず、説明のために幾つか知っておいてほしい知識はこれ。

- Key1とかKey2をキーといい、value1とかvalue2を値と言う。

- キーと値の間には:を入れる。"Key1":"value1"とかの間には,を入れる。

- "Key1":"value1"とかの塊をメンバーという。

JSONには幾つか決まりがあります。なので、その決まりに従って扱わないといけません。

1. jsonは{}で囲まれ、0個以上のメンバーを含んでいなければならない。

2. メンバー以外のものは含まれてはならない。

3. メンバーはカンマで区切られてなければならない。

4. 文字列は"または'で囲む。

文字ばっかだと良くわからないので例を見てみましょう。

jsonといえるもの
{"key1":"value1","key2":"value2"} 
{"key1":["配列1","配列2"]} 
{} 
{"key1":{"key1_1":"value1","key1_2":"value2"},"key2":"value2"} 
{ 
  "hoge":["piyo",12345], 
  "hoho":{ 
    "key1":"value1", 
    "key2":"value2" 
  }, 
  "foo":"hahaha" 
} 
jsonといえるが非推奨
{ 
  "Key":"foo1", 
  "Key":"foo2" 
} 
これはキー名が被ってます。違反ではないですが、使わないことをめちゃくちゃお勧めします。

jsonといえないもの
["foo":"hahah","foo2":"value"] 
{"foo","piyo"} 
"Key":"value" 
よくわからん!ってひとは、ここからもう一度読んで、じっくり観察してみてください。


値の参照の仕方

json本体.キー名っていう感じです。

navigatorを例にとってみます。

navigator
var navigator={ 
  "appCodeName":"Mozilla", 
  "appName":"Netscape", 
  "appVersion":"5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36", 
  "cookieEnabled":true, 
  "doNotTrack":null, 
  "geolocation":"Geolocation", 
  "hardwareConcurrency":2, 
  "language":"ja", 
  "languages":{0:"ja", 
    1:"en-US", 
    2:"en", 
    "length":3 
  }, 
  .... 
} 
navigatorの中身はこんな感じです。

それで、たとえば言語を取得するときはnavigator.languageってしますよね。

それは、「navigatorの中のlanguageの値を見てね!」ってことです。

で、もし値がまたオブジェクトだったりすると、こうなります。
navigator.languages.length

つまり「navigatorの中のlanguagesの中のlengthを見てね!」ってことになります。

今日も安定のぐでんぐでん文章でしたが、ここまで読んでいただきありがとうございました。

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)