Long Live The King
ข้าพเจ้าไม่ได้มีพรสวรรค์พิเศษอะไร ข้าพเจ้าเพียงแต่มีความกระหายใคร่รู้อยู่เสมอ ทุ่มเทให้กับสิ่งที่อยากรู้ พากเพียรอย่างทรหด และสำรวจวิจารณ์ความรู้ของตัวเองเป็นประจำ ปัจจัยเหล่านี้คือที่มาของแนวคิดต่างๆ ของข้าพเจ้า .... อัลเบิร์ต ไอน์สไตน์

วันพุธที่ 20 มีนาคม พ.ศ. 2556

รู้จักกับ JSON ก่อนที่จะก้าวต่อไป....



json ย่อมาจากคำว่า " JavaScript Object Notation " เป็นฟอร์แมตสำหรับแลกเปลี่ยนข้อมูลคอมพิวเตอร์ ฟอร์แมต JSON นั้นอยู่ในรูปข้อความธรรมดา (plain text) ที่ทั้งมนุษย์และโปรแกรมคอมพิวเตอร์สามารถอ่านเข้าใจได้ ปัจจุบัน JSON นิยมใช้ในเว็บแอปพลิเคชัน โดยเฉพาะ AJAX โดย JSON เป็นฟอร์แมตทางเลือก ในการส่งข้อมูล นอกเหนือไปจาก XML ซึ่งนิยมใช้กันอยู่แต่เดิม สาเหตุที่ JSON เริ่มได้รับความ นิยมเป็นเพราะกระชับและเข้าใจง่ายกว่า XML ....

JSON นั้นใช้ syntax ของภาษาจาวาสคริปต์ แต่ไม่ถูกมองว่าเป็นภาษาโปรแกรม กลับถูกมอง
ว่าเป็นภาษาในการแลกเปลี่ยนข้อมูลมากกว่า ในปัจจุบันมีไลบรารีของภาษาโปรแกรมอื่นๆ
ที่ใช้ประมวลผลข้อมูลในรูปแบบ JSON มากมาย

โค้ดตัวอย่างของ JSON
{ "firstName" : "Bookneo",
                "lastName"  : "Json",
                "age"       : 27
}

json ซึ่งเป็น Text ธรรมดาๆที่ถูกจัดเรียงให้อยู่ในรูปแบบของ Object Array
โดยใช้เครื่องหมาย[ ] แทน Array และ { } แทน Hash (หรือ Associative Array)
เขียนคร่อมข้อมูลไว้ภายใน ซึ่งเป็นการกำหนดคุณสมบัติให้กับวัตถุ
ด้วยการสร้างวัตถุที่เป็นข้อมูลขึ้นมาในรูปแบบของ JSON เช่น

รูปแบบ json
var myObject = {};

ถ้าเป็นแบบเก่าเราจะกำหนดด้วยรูปแบบนี้ ซึ่งเป็นการสร้างตัวแปรชนิด Object ขึ้นมา
var myObject = new Object();

ตัวอย่างการใช้ Object Array มิติเดียวสร้างวัตถุที่เป็นข้อมูลแบบ JSON
var myObject = { "firstName" : "Bookneo",
                  "lastName"  : "Json",
                   "age"       : 27
                };
//เรียกใช้
document.writeln(myObject.firstName);  // Outputs Bookneo
document.writeln(myObject.lastName);   // Outputs Json
document.writeln(myObject.age);        // Outputs 27

//การเรียกใช้แบบ Associative Array
document.writeln(myObject["firstName"]);  // Outputs Bookneo
document.writeln(myObject["lastName"]);   // Outputs Json
document.writeln(myObject["age"]);        // Outputs 27

แต่เมื่อเราต้องการเพิ่ม Object เข้าไปอีก เราก็จะสร้างข้อมูลในรูปแบบของ JSON แบบนี้
ตัวอย่างการใช้ Object Array 2มิติสร้างวัตถุที่เป็นข้อมูลแบบ JSON
var myObject = {
                'animal' : {'dog' : 'friendly' }
               };
//เรียกใช้
document.writeln(myObject.animal.dog); // outputs friendly

แต่เมื่อข้อมูลมีความซับซ้อนมากขึ้นการเก็บข้อมูลก็จะเป็นลักษณะ Object Array แบบหลายมิติ
ตัวอย่างการใช้ Object Array แบบหลายมิติสร้างวัตถุที่เป็นข้อมูลแบบ JSON
var employees = {
    "accounting"    : [
                        { "firstName" : "John",  // First Element
                          "lastName"  : "Doe",
                          "age"       : 23 },

                        { "firstName" : "Mary",  // Second Element
                          "lastName"  : "Smith",
                          "age"       : 32 }
                      ],                               
      "sales"       : [ 
                        { "firstName" : "Sally", // First Element
                          "lastName"  : "Green",
                          "age"       : 27 },

                        { "firstName" : "Jim",   // Second Element
                          "lastName"  : "Galley",
                          "age"       : 41 }
                      ] 
                }
//เรียกใช้
document.writeln(employees.accounting[0].firstName
                + ' ' + employees.accounting[0].lastName);
document.writeln(employees.sales[1].firstName
                + ' ' + employees.sales[1].lastName);

accounting[0] คือ Element ตัวแรกของ accounting ก็คือ John
accounting[1] คือ Element ตัวที่สองของ accounting ก็คือ Mary

JSON สามารถจัดเก็บ Object ไว้ภายใน Object และ Array ไว้ภายใน Array ได้โดยไม่มีขีดจำกัด
ด้วยโครงสร้างของข้อมูลที่เรียบง่าย และมีดัชนีข้อมูลที่ถูกต้องแม่นยำทุกข้อมูล

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

ขอจบบทความนี้เพียงเท่านี้ครับ ผิดพลาดยังไงต้องขอ อภัยด้วยครับ .....


0 ความคิดเห็น:

แสดงความคิดเห็น

© Bookneo, AllRightsReserved.

ขับเคลื่อนโดย Blogger Designed by Nikhorn Thongchuay