JSONの使い方

2020/10/07
カテゴリー: その他


JSONとは

JavaScript Object Notationの略です。
どのようなものかというと、私の感覚では、CSVでは扱いにくかったデータの交換を簡単にしたようなもの(?)です。
csvと違ってしっかりとデータとして受け渡しができるのでかなり管理が楽になります。

JSONの文法

基本的な文法は{}の中に変数名と値を:で区切り下のように書きます。
{
    "name": "hegi",
    "age": 20
}


配列の場合は[]に要素を入れていきます。
{
    "name": "hegi",
    "age": 20,
    "skill_list":["c", "c#", "html", "css", "php"]
}


オブジェクトは{}で書きます。
{
    "item": {
        "name": "hegi",
        "age": 20,
        "skill_list": ["c", "c#", "html", "css", "php"]
    }
}


組み合わせるとこんな感じになります。
{
    "items":[
        {
            "name": "hegi",
            "age": 20,
            "skill_list": ["c", "c#", "html", "css", "php"]
        },
        {
            "name": "tanaka",
            "age": 21,
            "skill_list": ["c", "c#", "html", "css"]
        },
        {
            "name": "yoshida",
            "age": 19,
            "skill_list": ["c", "VBA"]
        }
    ]
}


これをCSVであらわしたとすると、
name,age,skill0,skill1,skill2,skill3,skill4
hegi,20,c,c#,html,css,php
tanaka,21,c,c#,html,css,
yoshida,19,c,VBA,,,


全然見やすさが違いますね。
これだと、見やすさだけでなくデータの扱いもCSVの方が大変です。

PHPでJSONを使う

JSONを読み込んだら配列のように指定するだけ!
先ほど書いたjsonを読み込んでみると下のようになります。
<?php

$uri = 'test.json';//jsonファイルのあるパス

/*JSONファイル読み込み、JSON→配列変換 */
$json = file_get_contents($uri);
$array = json_decode($json, true);
/*--------------------------------------*/

echo $array['items'][0]['name'].'の名前は'.$array['items'][0]['age'];

/*
    hegiの年齢は20
*/


これができるようになることでいままでより非常に簡単にデータの管理ができるようになります!