เจสันคืออะไร? รูปแบบการถ่ายโอนข้อมูล PHP และ JSON

ECMA-262 1999) รูปแบบนี้ถือเป็นภาษาอิสระและสามารถใช้ได้กับภาษาการเขียนโปรแกรมเกือบทุกภาษา สำหรับหลายภาษา มีโค้ดสำเร็จรูปสำหรับการสร้างและประมวลผลข้อมูลในรูปแบบ JSON การใช้งาน

เนื่องจากความสั้นเมื่อเทียบกับ XML รูปแบบ JSON จึงอาจเหมาะสมกว่าสำหรับการทำให้โครงสร้างที่ซับซ้อนเป็นอนุกรมมากกว่า หากเราพูดถึงเว็บแอปพลิเคชัน ในกรณีนี้ มันเหมาะสมสำหรับงานแลกเปลี่ยนข้อมูลทั้งระหว่างเบราว์เซอร์และเซิร์ฟเวอร์ (AJAX) และระหว่างเซิร์ฟเวอร์เอง (อินเทอร์เฟซซอฟต์แวร์ HTTP)

เนื่องจาก JSON เป็นส่วนย่อยของไวยากรณ์ JavaScript จึงสามารถดีซีเรียลไลซ์ได้อย่างรวดเร็วโดยใช้ฟังก์ชัน eval() ในตัว นอกจากนี้ยังสามารถแทรกฟังก์ชัน JavaScript ที่ทำงานได้อย่างสมบูรณ์อีกด้วย ใน PHP ตั้งแต่เวอร์ชัน 5.2.0 เป็นต้นไป การสนับสนุน JSON จะรวมอยู่ในแกนหลักในรูปแบบของฟังก์ชัน json_decode() และ json_encode() ซึ่งจะแปลงประเภทข้อมูล JSON ให้เป็นประเภท PHP ที่สอดคล้องกันและในทางกลับกัน

ไวยากรณ์

ข้อความ JSON เป็นหนึ่งในสองโครงสร้าง (ในรูปแบบที่เข้ารหัส):

  • ชุดคู่รัก คีย์:ค่า- ในภาษาต่างๆ สิ่งนี้ถูกนำมาใช้เป็นวัตถุ บันทึก โครงสร้าง พจนานุกรม ตารางแฮช รายการคีย์ หรืออาร์เรย์ที่เชื่อมโยง คีย์สามารถเป็นได้เฉพาะสตริง ค่าสามารถอยู่ในรูปแบบใดก็ได้เท่านั้น
  • ชุดของค่าที่เรียงลำดับ ในหลายภาษา สิ่งนี้ถูกนำมาใช้เป็นอาร์เรย์ เวกเตอร์ รายการ หรือลำดับ
  • เหล่านี้เป็นโครงสร้างข้อมูลสากล: ตามกฎแล้วภาษาการเขียนโปรแกรมสมัยใหม่ใด ๆ รองรับโครงสร้างเหล่านี้ในรูปแบบใดรูปแบบหนึ่ง เป็นพื้นฐานของ JSON เนื่องจากใช้เพื่อแลกเปลี่ยนข้อมูลระหว่างภาษาการเขียนโปรแกรมต่างๆ

    โครงสร้างต่อไปนี้ถูกใช้เป็นค่าใน JSON:

  • ออบเจ็กต์คือชุดคีย์:ค่าที่ไม่เรียงลำดับซึ่งอยู่ในวงเล็บปีกกา "( )" คีย์อธิบายด้วยสตริง โดยมีสัญลักษณ์ /// อยู่ระหว่างคีย์กับค่า คู่คีย์-ค่าจะถูกคั่นด้วยเครื่องหมายจุลภาค
  • อาร์เรย์ (หนึ่งมิติ) คือชุดของค่าที่เรียงลำดับกัน อาร์เรย์อยู่ในวงเล็บเหลี่ยม "" ค่าจะถูกคั่นด้วยเครื่องหมายจุลภาค
  • ค่าอาจเป็นสตริงที่มีเครื่องหมายคำพูดคู่ ตัวเลข อ็อบเจ็กต์ อาร์เรย์ หรือหนึ่งในตัวอักษร: จริง เท็จ หรือ null ที่. โครงสร้างสามารถซ้อนกันภายในกันและกันได้
  • สตริงคือชุดอักขระ Unicode ที่เรียงตามลำดับตั้งแต่ 0 ตัวขึ้นไป โดยอยู่ในเครื่องหมายคำพูดคู่ สามารถระบุอักขระได้โดยใช้ลำดับหลีกที่เริ่มต้นด้วยเครื่องหมายแบ็กสแลช "\"

    สตริงมีความคล้ายคลึงกับชนิดข้อมูลที่มีชื่อเดียวกันในภาษา C และ Java ตัวเลขยังคล้ายกับตัวเลข C หรือ Java มาก ยกเว้นว่าจะใช้รูปแบบทศนิยมเท่านั้น สามารถแทรกช่องว่างระหว่างองค์ประกอบวากยสัมพันธ์สองรายการใดก็ได้

  • ตัวอย่างต่อไปนี้แสดงการแสดง JSON ของออบเจ็กต์ที่อธิบายบุคคล ออบเจ็กต์มีช่องสตริงสำหรับชื่อและนามสกุล ออบเจ็กต์ที่อธิบายที่อยู่ และอาร์เรย์ที่มีรายการหมายเลขโทรศัพท์

    วิธีการหลักในการทำงานกับ JSON ใน JavaScript คือ:

    • JSON.parse - อ่านวัตถุจากสตริงในรูปแบบ JSON
    • JSON.stringify - เปลี่ยนออบเจ็กต์ให้เป็นสตริงในรูปแบบ JSON ซึ่งใช้เมื่อคุณต้องการถ่ายโอนข้อมูลผ่านเครือข่ายจาก JavaScript
    1. ข้อมูลเบื้องต้นเกี่ยวกับวิธี JSON.parse

    มาสร้างเว็บแอปพลิเคชัน Tizen พื้นฐานแล้วเรียกมันกัน json1.

    เรามาใส่ไฟล์ ดัชนี.htmlรหัสต่อไปนี้:


    ข้าว. 27.2.

    มาเปลี่ยนโค้ดสคริปต์ของเรากันหน่อย:

    หมายเลข var = "";


    ตัวเลข = JSON.parse (ตัวเลข);

    document.write(ตัวเลข);

    ข้าว. 27.3.
    ลองดูกรณีที่น่าสนใจกว่านี้:
    ผู้ใช้ var = "( "ชื่อ": "Vasya", "อายุ": 35, "isAdmin": จริง, "เพื่อน": ["Misha", "Masha", "Grisha", "Gulshat"] )";
    ผู้ใช้ = JSON.parse (ผู้ใช้);
    strMessage = "ชื่อ: " + user.name + "


    " + "อายุ: " + user.age + "

    " + "ผู้ดูแลระบบ: " + user.isAdmin + " " + "เพื่อน: " + user.friends + ""; document.write(strMessage); ข้าว. 27.4. 2. สร้างวัตถุจากสตริง JSON

    ตัวอย่างนี้นำมาจากhttp://www.w3schools.com/js/js_validation.asp มาสร้างโครงการกันเถอะ

    json2

    - ในไฟล์

    อย่างที่คุณเห็น $obj->office เป็นอาร์เรย์

    Foreach($obj->office เป็น $val) echo $val;

    การทำงานกับ JSON ทำให้คุณสามารถแลกเปลี่ยนข้อมูลกับเซิร์ฟเวอร์ได้ "แบบฟอร์มบริสุทธิ์"- ไม่จำเป็นต้องส่งโค้ด HTML ชิ้นใหญ่ๆ