JSON形式のデータを取り扱う
JSON
JSON形式のデータとは
業務で少し触れただけで、まだ自然に使えるようになっていない。自分の学習のためにも記しておく。
まず、JSONとは、JavaScript Object Notationのことで、Javascriptのオブジェクトのような表記法のこと。連想配列のようなイメージを持てばよい。JSオブジェクトの基本は公式に譲ろう。
JSON形式はキーと値のペアで考える。以下のような感じ。
{
"name": "異世界攻略班",
"gender": "male",
"greeting":"Hello"
}
コロンの左側に書いたのがキーで右側に書いてあるのが値。
次のようにオブジェクトの中で、値にオブジェクトを取る場合もある。
{
"name": "異世界攻略班",
"profile":{
"gender": "male",
"greeting":"Hello"
}
}
値が複数ある場合には、配列を取ることでもできる。
{
"name":[ "異世界攻略班","ヒマイセ","HimaISe"],
"profile":{
"gender": "male",
"greeting":"Hello"
}
}
その複数の値だけがある場合には、値のみ並べる。
[ "異世界攻略班","ヒマイセ","HimaISe"]
値がオブジェクトだけの場合には、配列の中に{ }でオブジェクトを並べる。
[
{
"name": "異世界攻略班",
"date": "2020-04"
},
{
"name": "HimaIse",
"date": "2020-05"
}
]
なぜJSON形式を使うのか
可読性
一言でいうと、データの可読性を上げるためであるとのこと。とは言え、馴染みの無い人間からすると、可読性があるのかピンとこない。
軽量化
あとは、先に見たように、配列とオブジェクトの構造がシンプルなため、軽量という点も上げられるようだ。
使用方法
実際の使い方は
業務で一度、phpの要素のソートをするときに使った記憶がある。実際普段あまり使っていないので、そこまで使いこなせていない。
json形式だと、言語に依存しないというメリットもある。つまり、さまざまな言語で使える。例えば、phpの場合に、配列を用意し、それをjson_encode()を用いて、JSON形式にエンコードする。戻すときには、逆にjson_decode()してやればいい。
JSONデータをphpで使用した時には、データの一部を取り出して、それをforeachで回してやった。その後、検索条件に応じでソートさせてやったというわけだが、この辺りは感覚ではなく、実際に手を動かさないとやはり理解できない。paizaioでちょっといじってみる。
<?php
$array = ["aa","bb","CC"];
$json = json_encode( $array , JSON_PRETTY_PRINT ) ;
var_dump($json);
/*var_dumpの結果
string(32) "[
"aa",
"bb",
"CC"
]"*/
?>
phpの配列をエンコードさせてjson形式にした。配列なので、値だけが並んでる。
こいつをデコードしてやる。
<?php
$array = ["aa","bb","CC"];
$json = json_encode( $array , JSON_PRETTY_PRINT ) ;
$json2 = json_decode( $json , JSON_PRETTY_PRINT ) ;
var_dump($json);
var_dump($json2);
/*var_dumpの結果
string(32) "[
"aa",
"bb",
"CC"
]"
array(3) {
[0]=>
string(2) "aa"
[1]=>
string(2) "bb"
[2]=>
string(2) "CC"
}*/
?>
なるほど、ちゃんと戻ってる。
実際の業務ではこれを使ってデータを整形させていくのだが、まあ、これだけでも面白い。もっと自分でいじったら、更新する。
以上