PHPにおけるJSONフォーマット

JSONはデータを保存するためのフォーマットです。 このフォーマットは、サイト間やサーバーとブラウザ間でのデータ交換によく使用されます。 このフォーマットはXMLと比較してよりコンパクトでシンプルなため、現在ではより広く使用されています。

JSONという略語はJavaScript Object Notationの略です。 元々、JSONはJavaScript言語で考案されましたが、今ではどこでも使用されています。

PHPの観点から見ると、JSONフォーマットのデータは文字列を表します:

php<?php
  $str = '
    // ここにJSONが入ります
  ';
?>

このフォーマット自体は、通常の配列と連想配列からなる何らかの多次元構造です。 配列の要素には、必ず二重引用符で囲まれた文字列、数値、true、false、またはnullの値を指定できます。

例を見てみましょう。 数値の配列を作成します:

php<?php
  $str = '[1, 2, 3, 4, 5]';
?>

文字列の配列を作成します:

php<?php
  $str = '["a", "b", "c"]';
?>

混合コンテンツの配列を作成します:

php<?php
  $str = '[1, "a", true, false, null]';
?>

では、連想配列を作成しましょう。 JavaScriptの用語では、このような配列はオブジェクトと呼ばれます。 オブジェクトは中括弧で囲み、キーと値はコロンで区切ります。 このような配列のキーには、必ず二重引用符で囲まれた文字列を使用する必要があります。 オブジェクトの例を作成します:

php<?php
  $str = '{
    "a": 1,
    "b": 2,
    "c": 3
  }';
?>

配列とオブジェクトは、任意のレベルのネスト構造で組み合わせることができます:

php<?php
  $str = '{
    "a": [1, 2, 3],
    "b": [4, 5, 6]
  }';
?>

JSONフォーマットでは、最後の要素の後の余分なカンマは許可されないことに注意してください:

php<?php
  $str = '[
    "a",
    "b", 
    "c",
  ]'; // 最後のカンマは余分です
?>
Задание 1

以下のPHP構造をJSON文字列に変換してください:

php<?php
  $data = [1, 2, 3];
?>
Задание 2

以下のPHP構造をJSON文字列に変換してください:

php<?php
  $data = ['x', 'y', 'z',];
?>
Задание 3

以下のPHP構造をJSON文字列に変換してください:

php<?php
  $data = [
    'x' => 'a',
    'y' => 'b',
    'z' => 'c',
  ];
?>
Задание 4

以下のPHP構造をJSON文字列に変換してください:

php<?php
  $data = [
    'ru' => ['1', '2', '3'],
    'en' => ['a', 'b', 'c'],
  ];
?>