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'],
  ];
?>