JSONについて調べてみた

JSONについて調べてみた:


JSONとは

JavaScript Object Notation

データを表現するための記法です。

JavaScriptの構文に似ていますが、JavaScriptとは独立して扱われます。

JavaScript以外のプログラミング言語でもJSONを扱うことができる機能が準備されています。


形式

JSONはオブジェクト、もしくは配列で表現されます。


オブジェクト

JSON
{ 
 "key" : value, 
 "key" : value, 
 "key" : value 
} 
オブジェクトの中に、keyvalueのペアであるメンバーを複数含むことができます。

このメンバーは順序付けされていません。

  • メンバー("key" : value)は,で区切って複数定義することができる

  • key"(ダブルクォート)で囲む必要がある(シングルクォートではだめ)
  • 一つの値を分断しない限り、改行やスペースを自由にいれることができる(そのため上記のように成形することができます)

  • valueは以下の型を取ることができる
説明
文字列 "(ダブルクォート)で囲む必要がある
数値 10進数、指数表記を使うことが可能(8進数、16進数は使うことができない)
オブジェクト
配列
boolean true/false。小文字の必要がある
null 小文字の必要がある
サンプル

{ 
  "user" : { 
    "name": "Taro", 
    "age": 30, 
    "languages": ["Japanese", "English"], 
    "active": true 
  } 
} 


配列

以下のように、配列として扱うこともできます。

[ 
  { 
    "name": "Taro", 
    "age": 30, 
    "languages": ["Japanese", "English"], 
    "active": true 
  }, 
  { 
    "name": "Aiko", 
    "age": 33, 
    "languages": ["Japanese"], 
    "active": false 
  }, 
  { 
    "name": "Hanako", 
    "age": 29 
    "languages": ["English", "French"], 
    "active": true 
  } 
] 


JavaScriptでのJSONの扱い方


環境

  • Windows10
  • Node.js 10.14.1


Jsonデータの作り方

var userJson = { 
  "name": "Taro", 
  "age": 30, 
  "active": true 
} 
console.log(userJson.name); 
// Taro 


オブジェクトをJSON文字列に変換する

var userObj = { 
  name: "Taro", 
  age: 30, 
  active: true 
} 
console.log(userObj); 
// { name: 'Taro', age: 30, active: true } 
 
var userJson = JSON.stringify(userObj); 
console.log(userJson); 
// {"name":"Taro","age":30,"active":true} 
JSON.stringifyを使用することで、オブジェクトデータをJSON文字列へ変換することができます。


JSON文字列をオブジェクトに変換する

var userObj = { 
  name: "Taro", 
  age: 30, 
  active: true 
} 
var userJson = JSON.stringify(userObj); // JSON文字列へ変換 
console.log(userJson); 
// {"name":"Taro","age":30,"active":true} 
console.log(userJson.name); 
// undefined 
 
var parsed = JSON.parse(userJson); // オブジェクトへ変換 
console.log(parsed); 
// { name: 'Taro', age: 30, active: true } 
console.log(parsed.name); 
// Taro 
JSON.parseを使用することで、JSON文字列をオブジェクトへ変換することができます。

JSON文字列の状態では、プロパティにアクセスすることはできませんが、オブジェクトへ変換することでプロパティにもアクセスすることができるようになります。

コメント

このブログの人気の投稿

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

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)