รูปแบบ JSON: การสร้างข้อมูลใช้กับ PHP และ JS JSON สำหรับผู้เริ่มต้น โดยใช้ข้อมูล javascript และ jQuery Json ผ่านรูปแบบปกติ

ตัวแปร อาร์เรย์ และอ็อบเจ็กต์เป็นรูปแบบการแสดงข้อมูลที่คุ้นเคยและสะดวก เป็นเรื่องปกติที่จะอธิบายข้อมูลในภาษาเบราว์เซอร์ JavaScript ซึ่งไม่จำเป็นในภาษาเซิร์ฟเวอร์ PHP รูปแบบ JSON ช่วยให้คุณสามารถสรุปเป็นภาพรวมเดียว และไม่เน้นที่ภาษาการเขียนโปรแกรม ในกรณีนี้ ข้อมูลจะกลายเป็นคู่: “ชื่อ = ค่า” ค่าในแต่ละค่าสามารถเป็นชุดของคู่ดังกล่าวได้

เป็นเรื่องปกติที่จะเชื่อมโยง JSON กับเครื่องหมายปีกกา และอย่างหลังก็ค่อนข้างสมเหตุสมผล เนื่องจากรูปแบบ JSON = สัญลักษณ์วัตถุ JavaScript ในช่วงหลายปีที่ผ่านมามีการเปลี่ยนแปลงมากมายโดยเฉพาะ สิ่งที่ถูกสร้างขึ้นเพื่อจุดประสงค์เฉพาะมักนำมาซึ่งผลลัพธ์ที่ไม่คาดคิดหรือเปิดโลกทัศน์ใหม่

การแลกเปลี่ยนข้อมูล: เบราว์เซอร์ - เซิร์ฟเวอร์

เทคโนโลยี AJAX กลายเป็นการรีเฟรชหน้าแบบดั้งเดิมและสม่ำเสมอ โดยสิ้นเชิงหมดความนิยมไปแล้ว ผู้เยี่ยมชมที่เปิดไซต์ จะเริ่มต้นการแลกเปลี่ยนข้อมูลบางส่วน เมื่อหน้าบางหน้าเปลี่ยนแปลงเฉพาะในตำแหน่งที่เกี่ยวข้องเท่านั้น

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

เนื่องจากเนื้อหาของหน้าของไซต์สมัยใหม่ได้กลายเป็น "ขนาดใหญ่" (ใหญ่โต) อย่างแท้จริง ประสิทธิภาพของรูปแบบในการแลกเปลี่ยนข้อมูลจึงได้รับความสำคัญเป็นพิเศษ นี่ไม่ได้เป็นการบอกว่า JSON ได้กลายเป็นการแสดงข้อมูลแบบใหม่ แต่ความจริงที่ว่า JSON เป็นองค์ประกอบของไวยากรณ์ JavaScript มานานแล้วนั้นมีความสำคัญ

การใช้ Cyrillic ในการตั้งชื่อตัวแปรเป็นปรากฏการณ์ที่ไม่คาดคิด (ไร้สาระ) แต่ใช้งานได้ใน Chrome, Firefox และแม้แต่ Internet Explorer 11 เวอร์ชันล่าสุด

ซีริลลิกและ JSON

แน่นอนว่าไม่มีประโยชน์ในการใช้ปรากฏการณ์ที่ไม่คาดคิดนี้โดยจำได้ว่าค่าของตัวแปรที่เขียนด้วยตัวอักษรรัสเซียกลายเป็นคำพูดที่ไม่มีความหมายได้ง่ายเพียงใด: เราจะพูดอะไรเกี่ยวกับชื่อได้โดยเฉพาะชื่อภายนอก

เป็นที่น่าสงสัยว่าความคิดริเริ่มในชื่อซีริลลิกจะได้รับการสนับสนุนจากสภาพแวดล้อมภายนอกของเบราว์เซอร์ซึ่งต้องจัดการอยู่ตลอดเวลา แต่ความจริงข้อนี้สมควรได้รับความสนใจด้วยเหตุผลง่ายๆ ที่ว่ารูปแบบ JSON คือความสามารถในการเขียนชื่อและค่าตามที่นักพัฒนาต้องการ นี่เป็นสิ่งสำคัญ เนื่องจากในแต่ละงาน คำอธิบายพื้นที่แอปพลิเคชันตามที่ต้องการจะช่วยลดความยุ่งยากในการดีบักและลดจำนวนข้อผิดพลาดได้อย่างมาก

ไม่สำคัญว่าพื้นฐานของนวัตกรรมทางวากยสัมพันธ์ - JSON - คืออะไร สิ่งสำคัญคือต้องให้สิทธิ์ทางกฎหมายและโอกาสที่แท้จริงในการตั้งค่าการติดต่อ: "ชื่อใด ๆ = ค่าใด ๆ "

เราต้องจ่ายส่วยให้กับภาษา JavaScript: สิ่งที่จัดทำโดยไวยากรณ์ไม่ได้บังคับนักพัฒนาและไม่ได้กำหนดสิ่งใดให้กับเขา นักพัฒนาใช้ไวยากรณ์ภาษาได้อย่างอิสระเพื่อสร้างแบบจำลองข้อมูลและอัลกอริทึมสำหรับการใช้งานอย่างเหมาะสมที่สุด

PHP และ JSON

ด้วยการยอมรับข้อมูลในรูปแบบ JSON เซิร์ฟเวอร์ (โดยเฉพาะ PHP) จะให้ความสามารถในการประมวลผลตามที่เป็นอยู่และส่งคืนผลลัพธ์กลับไปยังเบราว์เซอร์ในรูปแบบที่คล้ายกัน อาร์เรย์ซอร์ส PHP:

  • $cJSON = array ("a"=> "อัลฟ่า", "b"=> "เบต้า", "g"=> "แกมมา")

แปลงเป็น JSON เพื่อส่งไปยังเบราว์เซอร์:

  • $cJS = json_encode($cJSON).

ผลลัพธ์:

  • ("a": "อัลฟ่า", "b": "เบต้า", "g": "แกมมา")

อนุญาตให้ทำรังที่แสดงในรูปภาพได้

ที่นี่อาร์เรย์ที่สร้างขึ้นถูกเพิ่มด้วยองค์ประกอบใหม่ "ในตัวเอง" พร้อมด้วยดัชนีอัตโนมัติ "0" และอีกครั้งด้วยดัชนีที่ระบุ "z"

Json_decode() แปลงสตริง JSON เป็นอาร์เรย์ PHP ผลลัพธ์ที่คล้ายกันสามารถทำได้โดยการจัดการฟังก์ชันและระเบิด () ในบางกรณีตัวเลือกนี้จะเหมาะกว่า

ระดับการทำรัง

องค์ประกอบสามารถซ้อนกันได้ทั้งบนฝั่งเบราว์เซอร์และฝั่งเซิร์ฟเวอร์ ในทางปฏิบัติ รูปแบบ JSON (คำอธิบายมาตรฐาน RFC 4627) มีการซ้อนมากกว่า 4 ระดับอย่างมาก แต่ไม่ควรนำฟีเจอร์นี้ไปใช้ในทางที่ผิด

เป็นการดีที่สุดที่จะไม่ใช้เกินความเพียงพอที่สมเหตุสมผล ซึ่งจะทำให้โค้ดสามารถอ่านได้ ทำให้นักพัฒนารายอื่นแก้ไขและเข้าใจได้ง่ายขึ้น

JSON โดยทั่วไปเรียกว่าโครงสร้างข้อมูลที่เรียบง่ายกว่า XML และเข้าใจได้ทั้งผู้คนและคอมพิวเตอร์ กรณีนี้จะเกิดขึ้นเมื่อมีข้อมูลน้อยและนักพัฒนาได้เลือกระดับการซ้อนอย่างชาญฉลาด ในกรณีอื่นๆ ทั้งหมด การนับจำนวนวงเล็บและการทำความเข้าใจเป็นเรื่องยากทั้งทางฝั่งเบราว์เซอร์และฝั่งเซิร์ฟเวอร์

ไฟล์ JSON

การใช้ JSON ในทางปฏิบัติมักไม่ได้จำกัดอยู่เพียงสตริงสั้นๆ ที่มนุษย์สามารถอ่านได้ การสร้างข้อมูลใดๆ ก็ตามจะเน้นในทางปฏิบัติเสมอ ในเวลาเดียวกัน JSON สามารถใช้งานได้อย่างมีประสิทธิภาพทั้งในข้อมูลงานจริง (พนักงานองค์กร) และสำหรับการนำข้อมูลชั่วคราวไปใช้ (แคชออบเจ็กต์)

พนักงานองค์กรและรูปแบบ JSON: ตัวอย่าง

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

ถ้าบริษัทจ้างคนหลายคนก็เรื่องหนึ่ง แต่ถ้ามีคนหลายหมื่นคนก็แตกต่างไปจากเดิมอย่างสิ้นเชิง คุณสามารถใช้ฐานข้อมูลต่อไปได้ แต่การจัดเก็บเป็นไฟล์ดูเหมือนจะมีประโยชน์มากกว่าและสามารถเข้าถึงได้มากกว่า

JSON เป็นไฟล์ข้อความธรรมดา กรณีที่มีโต๊ะพนักงานดำเนินไปโดยไม่บอกกล่าว คุณสามารถอ่านได้เสมอ การเปิดและแก้ไขยังมีอยู่ในโปรแกรมแก้ไขข้อความที่ไม่มีนิสัยในการเพิ่มข้อมูลบริการของตัวเองลงในเนื้อหาของไฟล์ โดยทั่วไป *.json จะเป็นข้อความล้วนทั้งภายในเบราว์เซอร์และภายในไฟล์ - สตริง

ภาพถ่ายแสดงแคชของวัตถุที่สร้างรูปภาพเป็นตัวอย่าง

นี่คือตัวอย่างเนื้อหาของไฟล์ที่สร้างโดยไซต์ที่ให้บริการการพิมพ์ 3 มิติสีบนแก้วและเซรามิก โดยปกติแล้ว การมีรูปแบบ JSON เช่นนี้ การตัดสินใจว่าจะเปิดอย่างไรนั้นเป็นปัญหาจริงๆ อย่างไรก็ตาม ในกรณีนี้และกรณีที่คล้ายกัน ไม่มีปัญหาในการอ่านไฟล์: PHP อ่านไฟล์ แยกวิเคราะห์ และส่งผ่านไปยังเบราว์เซอร์ ข้อมูลที่ผู้เยี่ยมชมเปลี่ยนแปลงจะถูกส่งกลับไปยังเซิร์ฟเวอร์และเขียนกลับ

ในกรณีการใช้งานนี้ ไฟล์จะทำหน้าที่เป็นตัวแปรที่เก็บไว้นอกโค้ด หากจำเป็น ตัวแปรจะได้รับค่าจากไฟล์ และหากผู้เยี่ยมชมมีการเปลี่ยนแปลงในกล่องโต้ตอบที่เว็บไซต์จัดเตรียมไว้ให้ การเปลี่ยนแปลงทั้งหมดจะถูกบันทึกตามที่เป็นอยู่ ไม่จำเป็นต้องอ่านและตรวจสอบเนื้อหาของไฟล์

JSON มักถูกใช้เพื่อจัดเก็บและใช้ข้อมูลบริการ นี่ไม่ใช่ตารางการรับพนักงาน และทั้งนักพัฒนาและผู้เยี่ยมชมเว็บไซต์ก็ไม่จำเป็นต้องเห็นข้อมูลดังกล่าว

XML และ JSON

“มีเวลาสำหรับทุกสิ่ง” เป็นความรู้คลาสสิกที่ได้รับการยอมรับว่าเป็นสัจพจน์ก่อนที่จะมีการเขียนโปรแกรมเสียอีก “ไม่มีอะไรเกิดขึ้น” - สิ่งนี้เกิดขึ้นก่อนที่มนุษย์จะเขียนโปรแกรมที่เข้าใจได้ตัวแรกในภาษาประดิษฐ์

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

XML จัดการกับงานของมันได้อย่างยอดเยี่ยมและจะไม่กลายเป็นประวัติศาสตร์อย่างชัดเจน และมีการใช้ JSON จนถึงปี 2549 ไม่ใช่ว่านักพัฒนาทุกคนจะพิจารณาว่าเป็นหน้าที่ของเขาในการประกาศตัวเลือกบางอย่างในการนำเสนอข้อมูลของตน

ในทางปฏิบัติมีหลายกรณีที่โปรแกรมเขียนด้วยภาษา BASIC ซึ่งไม่ได้ใช้ JSON เช่นนี้ แต่เก็บคู่ "name = value" ไว้อย่างสมบูรณ์แบบ และทำให้พร้อมใช้งานกับอัลกอริธึมที่ถูกต้องในเวลาที่เหมาะสม

อักขระพิเศษ (“`”, “~”, “|”, ...) และรูปแบบข้อมูล

นิสัยในการทำงานกับอาร์เรย์และอ็อบเจ็กต์ที่เชื่อมโยงใน JavaScript ทำให้การใช้ JSON เป็นธรรมชาติและสะดวกสบาย นี่เป็นรูปแบบที่ยอดเยี่ยมจริงๆ แต่ความสามารถในการแยกและรวม จัดการสตริงและอาร์เรย์นั้นมีรากฐานที่ลึกซึ้งกว่ามาก

ฟังก์ชันการรวม/แยกของภาษา JavaScript และการระเบิด/ระเบิดของภาษา PHP ช่วยให้คุณสามารถใช้ทั้งรูปแบบข้อมูล XML, JSON และเวอร์ชันของคุณเองได้อย่างสะดวกและมีประสิทธิภาพ อย่างหลังมักจะเหมาะสมที่สุด ในขณะที่สองอันแรกเหมาะสำหรับตัวเลือกการใช้งานทั่วไป หากมีการถ่ายโอนข้อมูลไปยังนักพัฒนา เซิร์ฟเวอร์ ไฟล์ หรือฐานข้อมูลอื่น ไม่มีวิธีใดที่จะดีไปกว่าการค้นหา XML และ JSON ทุกคนทำงานร่วมกับพวกเขา ดังนั้นการส่ง/การรับข้อมูลจึงไม่จำเป็นต้องมีความคิดเห็น

การใช้ JSON ใน Android

การอ่านและเขียนข้อมูลในรูปแบบ JSON ใน Android ไม่ใช่แค่บรรทัดฐานเท่านั้น แต่ยังมีออบเจ็กต์อีกมากมายที่เน้นการทำงานกับรูปแบบข้อมูลเฉพาะนี้

ในกรณีนี้ จะใช้รูปแบบ JSON นี่อาจเป็นเรื่องจริง แต่คำถามไม่ใช่ปรากฏการณ์ของเครือข่ายโซเชียล แต่การนำเสนอข้อมูลในรูปแบบ "ชื่อ = ค่า" สะดวกมากทั้งสำหรับการเขียนโปรแกรมและการใช้งาน ซึ่งแตกต่างจาก “XML” ที่เข้มงวดและซับซ้อน นี่เป็นรูปแบบที่เป็นมิตรต่อมนุษย์อย่างแท้จริง

อาร์เรย์ที่เชื่อมโยง

มันเกิดขึ้นว่าต้องอธิบายตัวแปร (JavaScript) หรืออย่างน้อยต้องระบุค่าเริ่มต้น (PHP) ในทั้งสองกรณี ตัวแปรสามารถเปลี่ยนประเภทของมันได้อย่างง่ายดาย ภาษาจะทำการแปลงนี้โดยอัตโนมัติหากจำเป็น

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

เหตุการณ์นี้เด่นชัดเป็นพิเศษใน PHP แต่คุณสามารถทนกับมันได้ เช่นเดียวกับสัญลักษณ์ “$” ในชื่อตัวแปรและการรวมกัน “$this->” ภายในวัตถุ การเขียนโปรแกรมใน JavaScript และ PHP ในเวลาเดียวกัน ในตอนแรกคุณจะประหลาดใจจริงๆ ว่าทุกสิ่งแตกต่างกันอย่างไร แต่แล้วทุกอย่างก็คุ้นเคยและเป็นธรรมชาติ...

อาร์เรย์ที่เชื่อมโยง -> JSON

ในตัวอย่างนี้ เอกสาร *.docx ถูกสร้างขึ้นโดยใช้ไลบรารี PHPOffice/PHPWord และอาร์เรย์ aProperties มีคุณสมบัติของเอกสารนี้ (ผู้เขียน บริษัท ตำแหน่ง หมวดหมู่ วันที่สร้าง...)

อาร์เรย์ที่สองมีข้อมูลสำหรับหน้า:

  • การวางแนว (แนวนอนหรือปกติ);
  • ขนาดแนวตั้งและแนวนอน
  • เยื้อง (ระยะขอบซ้าย, บน, ล่าง, ขวา);
  • ส่วนหัวและส่วนท้าย

เอกสารถูกสร้างขึ้นบนเซิร์ฟเวอร์ที่ติดตั้งไลบรารี PHPOffice/PHPWord ไซต์อนุญาตให้คุณจัดการค่าของอาร์เรย์เหล่านี้โดยใช้ JavaScript ผลลัพธ์ในรูปแบบ JSON จะถูกส่งกลับไปยังเซิร์ฟเวอร์และใช้ในอัลกอริธึม PHP ในโครงสร้าง นั่นคือในอาร์เรย์

ตัวแปรไดนามิก

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

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

หลังจากตัวดำเนินการลบตัวแรก บรรทัด ojInfo จะสูญเสียองค์ประกอบอายุ หลังจากที่ลบครั้งที่สองจะสูญเสียองค์ประกอบงาน หากเราถือว่าสตริงนี้คือการเลือกตัวแปรที่มีความหมายบางอย่าง การใช้ JSON คุณสามารถสร้าง เปลี่ยนแปลง และลบชุดใดๆ นอกขอบเขตการดำเนินการ (ไวยากรณ์) ของการอธิบายและการประมวลผลภาษา JavaScript ได้

รูปแบบ JSON ไม่ได้ออกแบบมาสำหรับตัวเลือกนี้ แต่เป็นไปได้ ใช้งานได้จริง และสะดวก

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

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

var data=( "firstName" : "เรย์" ); การแจ้งเตือน (data.firstName);

ขั้นแรก เราสร้างตัวแปรเพื่อเก็บข้อมูลของเรา จากนั้นเราใช้ JSON เพื่อกำหนดออบเจ็กต์ ออบเจ็กต์ของเราค่อนข้างง่าย: ฟิลด์ firstName และค่า Ray สตริงใน JSON จะต้องอยู่ในเครื่องหมายคำพูด หากคุณใช้ตัวเลข เครื่องหมายคำพูดจะเป็นทางเลือก

ตัวอย่างนี้จะแสดงค่าของคุณสมบัติ firstName ในเบราว์เซอร์

การสร้างวัตถุตัวยึดตำแหน่ง

มาสร้างตัวอย่างที่สมจริงยิ่งขึ้น: แทรกข้อมูล JSON ของเราลงในวัตถุ DOM

var data=("firstName:"Ray"); document.getElementById("ตัวยึดตำแหน่ง").innerHTML=data.firstName;

ตอนนี้ แทนที่จะแสดงคำเตือน เราใส่ข้อมูลไว้ในองค์ประกอบ HTML แน่นอนว่าข้อมูล JSON อาจซับซ้อนกว่านี้มาก ลองเพิ่มฟิลด์อีกสองสามฟิลด์

data=( "firstName": "Ray", "lastName": "Villalobos", "เข้าร่วม":2012 ); document.getElementById("placeholder").innerHTML=data.firstName+" "+data.lastName+" "+data.joined;

โปรดทราบว่าข้อมูล JSON ได้รับการจัดรูปแบบในลักษณะเฉพาะเพื่อให้เข้าใจได้ดีขึ้น ช่อง "เข้าร่วม" มีค่าเป็น 2012 ซึ่งไม่จำเป็นต้องใส่เครื่องหมายคำพูดเนื่องจากเป็นตัวเลข ลองดูสิ่งที่ซับซ้อนกว่านี้

การเพิ่มอาร์เรย์

จะเป็นอย่างไรหากเราต้องการเข้ากลุ่มคน...เราจำเป็นต้องใช้อาร์เรย์ อาร์เรย์ใน JSON สามารถสร้างขึ้นได้โดยใช้วงเล็บเหลี่ยม มาดูกันว่าข้อมูลของเราจะมีลักษณะอย่างไรสำหรับผู้ใช้หลายคน

Var data=("users":[ ( "firstName":Ray", "lastName:"Villalobos", "joined":2012 ), ( "firstName": John ", "lastName": Jones ", "เข้าร่วม":2010 ) ]) document.getElementById("placeholder").innerHTML=data.users.firstName + " " + data.users.lastName+" "+ data.users.joined;

ดูซับซ้อนเล็กน้อย แต่จริงๆ แล้วเข้าใจได้ไม่ยาก ออบเจ็กต์ JSON ถูกสร้างขึ้นโดยใช้เครื่องหมายปีกกา อาร์เรย์ถูกสร้างขึ้นโดยใช้วงเล็บเหลี่ยม ดังนั้น เพื่อจัดระเบียบข้อมูลของเรา เราจึงสร้างออบเจ็กต์ผู้ใช้ ซึ่งเราใส่อาร์เรย์เข้าไป อาร์เรย์ประกอบด้วยวัตถุอื่นๆ แต่ละคู่ (ชื่อ/ค่า) จะคั่นด้วยเครื่องหมายจุลภาค

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

Var data=("users":[ ( "firstName":Ray", "lastName:"Villalobos", "joined": ( "month":มกราคม", "day":12, "year":2012 ) ), ( "firstName": John ", "lastName": Jones ", "เข้าร่วม": ( "เดือน": เมษายน ", "วัน":28, "ปี":2010 ) ) ]) เอกสาร getElementById("placeholder").innerHTML=data.users.firstName + " " + data.users.lastName+"--"+ data.users.joined.month;

คุณสมบัติที่รวมตอนนี้มีวัตถุที่มีหลายฟิลด์ ไม่จำเป็นต้องใช้อาร์เรย์ ดังนั้นเราจึงใช้สัญลักษณ์วัตถุ ขณะนี้เรามีข้อมูลสำหรับผู้ใช้หลายรายแล้ว ก็ถึงเวลาตรวจสอบผู้ใช้แต่ละรายและแสดงไว้ในรายการ

การใช้รายชื่อผู้ใช้ (ผ่านวัตถุ JSON)

ลองใช้จาวาสคริปต์และสร้างรายชื่อผู้ใช้กันดีกว่า

Var data = ( "users":[ ( "firstName":Ray", "lastName": "Villalobos", "joined": ( "month":มกราคม", "day":12, "year":2012 ) ), ( "firstName": "John", "lastName": "Jones", "เข้าร่วม": ( "เดือน": เมษายน ", "วัน":28, "ปี":2010 ) ) ]) var เอาท์พุต ="

    "; ) เอาต์พุต+="
"; document.getElementById("placeholder").innerHTML=output;

หากต้องการวนซ้ำคุณสมบัติทั้งหมดของวัตถุ จะมี for..in โครงสร้าง:

สำหรับ(คีย์ var ในวัตถุ) ( // key - ชื่อคุณสมบัติ // object - ค่าคุณสมบัติ... )

ที่นี่เราจะพูดถึงองค์ประกอบทั้งหมดของอาเรย์ เราบันทึกข้อมูลในตัวแปรเอาต์พุต และวางข้อมูลในองค์ประกอบที่มี id เท่ากับ placeholder คุณจะบอกได้ว่าข้อมูลของเรากำลังสร้างช้านิดหน่อย

อ่าน JSON จากไฟล์ภายนอก

เป็นการดีที่จะบันทึกข้อมูลลงในไฟล์ภายนอกและอ่านตามต้องการ ฉันจะใช้ไลบรารี jQuery และก่อนอื่นเราจำเป็นต้องรวมไลบรารี jQuery ด้วย จากนั้นเราเรียกใช้ฟังก์ชัน getJSON นี่คือลักษณะของโค้ดของเรา:

ตัวอย่าง JSON $.getJSON("data.json", function(data) ( var output="

    "; for (var i ใน data.users) ( เอาต์พุต+="
  • " + data.users[i].firstName + " " + data.users[i].lastName + "--" + data.users[i].joined.month+"
  • "; ) เอาต์พุต+="
"; document.getElementById("placeholder").innerHTML=output; ));

มันเกือบจะเป็นรหัสเดียวกัน แต่ข้อมูลถูกนำออกมา เราเพียงแค่สรุปทุกอย่างด้วยฟังก์ชัน getJSON ที่ทำหน้าที่อ่านไฟล์อย่างหนัก สมมติว่าไฟล์ข้อมูล data.json อยู่ในไดเร็กทอรีเดียวกันและมีลักษณะดังนี้:

("users":[ ( "firstName":Ray", "lastName":Villalobos", "joined": ( "month":มกราคม", "day":12, "year":2012 ) ), ( "firstName":John", "lastName":Jones", "เข้าร่วม": ( "เดือน":เมษายน", "วัน":28, "ปี":2010 ) ) ])

อย่างที่คุณเห็น JSON นั้นอ่านง่ายมาก และเมื่อคุณคุ้นเคยกับวงเล็บแล้ว มันก็จะเขียนโค้ดได้ง่าย

หากคุณมีโปรแกรมป้องกันไวรัสติดตั้งอยู่ในคอมพิวเตอร์ของคุณ คุณสามารถสแกนไฟล์ทั้งหมดในคอมพิวเตอร์และแต่ละไฟล์แยกกันได้ คุณสามารถสแกนไฟล์ใดก็ได้โดยคลิกขวาที่ไฟล์แล้วเลือกตัวเลือกที่เหมาะสมเพื่อสแกนไฟล์เพื่อหาไวรัส

ตัวอย่างเช่น ในรูปนี้ มีการไฮไลต์ไฟล์ my-file.json จากนั้นคุณต้องคลิกขวาที่ไฟล์นี้และเลือกตัวเลือก "สแกนด้วย AVG" ในเมนูไฟล์ เมื่อคุณเลือกตัวเลือกนี้ AVG Antivirus จะเปิดและสแกนไฟล์เพื่อหาไวรัส


บางครั้งข้อผิดพลาดอาจเกิดขึ้นอันเป็นผลมาจากการติดตั้งซอฟต์แวร์ไม่ถูกต้องซึ่งอาจเนื่องมาจากปัญหาที่พบในระหว่างขั้นตอนการติดตั้ง ซึ่งอาจป้องกันไม่ให้ระบบปฏิบัติการของคุณเชื่อมโยงไฟล์ JSON ของคุณกับแอพพลิเคชั่นซอฟต์แวร์ที่ถูกต้อง ซึ่งส่งผลต่อสิ่งที่เรียกว่า "การเชื่อมโยงนามสกุลไฟล์"

บางครั้งเพียงแค่ติดตั้ง Mozilla Firefox ใหม่ก็สามารถแก้ปัญหาของคุณได้โดยการผูก JSON กับ Mozilla Firefox อย่างถูกต้อง ในกรณีอื่นๆ ปัญหาเกี่ยวกับการเชื่อมโยงไฟล์อาจเป็นผลมาจากการเขียนโปรแกรมซอฟต์แวร์ที่ไม่ดีโดยนักพัฒนา และคุณอาจต้องติดต่อนักพัฒนาเพื่อขอความช่วยเหลือเพิ่มเติม


เคล็ดลับ: ลองอัปเดต Mozilla Firefox เป็นเวอร์ชันล่าสุดเพื่อให้แน่ใจว่าคุณมีแพตช์และอัปเดตล่าสุด


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


ข้อควรระวัง: ไฟล์ที่เสียหายอาจทำให้เกิดความเสียหายจากมัลแวร์ก่อนหน้าหรือที่มีอยู่ในพีซีของคุณ ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องให้คอมพิวเตอร์ของคุณใช้งานโปรแกรมป้องกันไวรัสที่อัปเดตตลอดเวลา


หากไฟล์ JSON ของคุณเชื่อมโยงกับฮาร์ดแวร์บนคอมพิวเตอร์ของคุณ คุณอาจต้องอัปเดตไดรเวอร์อุปกรณ์ที่เกี่ยวข้องกับฮาร์ดแวร์นั้นเพื่อเปิดไฟล์

ปัญหานี้มักจะเกี่ยวข้องกับประเภทไฟล์สื่อที่ต้องอาศัยการเปิดฮาร์ดแวร์ภายในคอมพิวเตอร์ เช่น การ์ดเสียงหรือการ์ดแสดงผลได้สำเร็จ ตัวอย่างเช่น หากคุณพยายามเปิดไฟล์เสียงแต่ไม่สามารถเปิดได้ คุณอาจต้องอัปเดตไดรเวอร์การ์ดเสียงของคุณ


เคล็ดลับ: หากคุณได้รับข้อความแสดงข้อผิดพลาดที่เกี่ยวข้องกับไฟล์ .SYS เมื่อคุณพยายามเปิดไฟล์ JSON ปัญหาอาจเกิดจากไดรเวอร์อุปกรณ์เสียหายหรือล้าสมัยซึ่งจำเป็นต้องได้รับการอัปเดต กระบวนการนี้สามารถทำได้ง่ายขึ้นโดยใช้ซอฟต์แวร์อัพเดตไดร์เวอร์ เช่น DriverDoc


หากขั้นตอนเหล่านี้ไม่สามารถแก้ไขปัญหาได้ และคุณยังคงพบปัญหาในการเปิดไฟล์ JSON อาจเกิดจากการขาดทรัพยากรระบบที่มีอยู่ ไฟล์ JSON บางเวอร์ชันอาจต้องใช้ทรัพยากรจำนวนมาก (เช่น หน่วยความจำ/RAM, พลังการประมวลผล) เพื่อเปิดบนคอมพิวเตอร์ของคุณอย่างเหมาะสม ปัญหานี้เกิดขึ้นค่อนข้างบ่อยหากคุณใช้ฮาร์ดแวร์คอมพิวเตอร์ที่ค่อนข้างเก่าและในขณะเดียวกันก็ใช้ระบบปฏิบัติการที่ใหม่กว่ามาก

ปัญหานี้อาจเกิดขึ้นเมื่อคอมพิวเตอร์มีปัญหาในการติดตามงาน เนื่องจากระบบปฏิบัติการ (และบริการอื่นๆ ที่ทำงานอยู่เบื้องหลัง) อาจใช้ทรัพยากรมากเกินไปในการเปิดไฟล์ JSON ลองปิดแอปพลิเคชันทั้งหมดบนพีซีของคุณก่อนเปิด Mozilla Firefox Bookmarks Backup การเพิ่มทรัพยากรที่มีอยู่ทั้งหมดบนคอมพิวเตอร์ของคุณจะเป็นเงื่อนไขที่ดีที่สุดในการพยายามเปิดไฟล์ JSON


หากคุณทำตามขั้นตอนทั้งหมดข้างต้นแล้ว แต่ไฟล์ JSON ของคุณยังคงไม่เปิดขึ้น คุณอาจต้องอัปเดตฮาร์ดแวร์ ในกรณีส่วนใหญ่ แม้ว่าจะใช้ฮาร์ดแวร์เวอร์ชันเก่า พลังการประมวลผลก็ยังเพียงพอสำหรับแอปพลิเคชันผู้ใช้ส่วนใหญ่ (เว้นแต่ว่าคุณกำลังทำงานที่ต้องใช้ CPU จำนวนมาก เช่น การเรนเดอร์ 3D การสร้างแบบจำลองทางการเงิน/วิทยาศาสตร์ หรือ งานมัลติมีเดียเข้มข้น) ดังนั้นจึงเป็นไปได้ว่าคอมพิวเตอร์ของคุณมีหน่วยความจำไม่เพียงพอ (โดยทั่วไปเรียกว่า "RAM" หรือหน่วยความจำเข้าถึงโดยสุ่ม) เพื่อเปิดไฟล์ให้เสร็จสิ้น

Json ถูกสร้างขึ้นสำหรับ JavaScript (ชื่อเต็มคือ JavaScript Object Notation) และเป็นรูปแบบการแลกเปลี่ยนข้อมูล

Json พบว่ามีการใช้งานในภาษาการเขียนโปรแกรมต่างๆ - ตัวอย่างเช่นใน PHP ซึ่งมีลักษณะดังนี้:

["1":สีเหลือง";"2"สีเขียว";"3":สีเทา"]

ตัวอย่างแสดงให้เห็นว่าไม่มีการเว้นวรรค และชื่อและค่าอยู่ในเครื่องหมายคำพูดคู่ ถ้าความยาวอนุญาต ก็สามารถใช้สตริงเพื่อถ่ายโอนข้อมูลในเมธอด GET ได้

ในกรณีนี้ อาเรย์ที่ส่งสามารถมีโครงสร้างหลายระดับได้ PHP มีชุดฟังก์ชัน json ที่ออกแบบมาเพื่อสร้างและถอดรหัสสตริงดังกล่าว และใช้งานได้กับ UTF-8 โดยเฉพาะ

Json_encode ใน php ฟังก์ชันนี้จะแปลงวัตถุ อาร์เรย์ หรือตัวแปรเป็นรูปแบบ json ตัวอย่างต่อไปนี้จะแปลงอาร์เรย์เป็นรูปแบบนี้ ?> Json_decode ใน php ฟังก์ชั่นนี้จะถอดรหัสสตริงที่ได้รับและขึ้นอยู่กับตัวเลือกที่เลือกเราได้รับวัตถุหรืออาร์เรย์ ฟังก์ชั่นมีสองพารามิเตอร์ - บังคับ (สตริงที่จะถอดรหัส) และเป็นทางเลือก (หากคุณระบุอาร์เรย์จะถูกส่งออก หากไม่ใช่วัตถุ) ลองพิจารณาตัวอย่างต่อไปนี้ รับข้อมูลจากคลาส: รับข้อมูลจากอาร์เรย์: Json_last_error ใน php.ini

ฟังก์ชันนี้ไม่มีพารามิเตอร์ โดยจะส่งกลับค่าที่ระบุสาเหตุของข้อผิดพลาด

  • JSON_ERROR_NONE - ไม่มีข้อผิดพลาด
  • JSON_ERROR_SYNTAX - ข้อผิดพลาดทางไวยากรณ์
  • JSON_ERROR_UTF8 - อักขระ UTF-8 ไม่ถูกต้อง การเข้ารหัสอาจไม่ถูกต้อง
  • JSON_ERROR_DEPTH - ถึงความลึกของสแต็กสูงสุดแล้ว
  • JSON_ERROR_STATE_MISMATCH - JSON ไม่ถูกต้องหรือไม่ถูกต้อง
  • JSON_ERROR_CTRL_CHAR - ข้อผิดพลาดของอักขระควบคุม การเข้ารหัสอาจไม่ถูกต้อง

คนที่คุ้นเคยกับการเขียนโปรแกรมจะรู้จักไฟล์ที่มีนามสกุล JSON ทันที รูปแบบนี้เป็นคำย่อของ JavaScript Object Notation และเป็นการแลกเปลี่ยนข้อมูลแบบข้อความซึ่งใช้ในภาษาการเขียนโปรแกรม JavaScript ดังนั้นซอฟต์แวร์พิเศษหรือโปรแกรมแก้ไขข้อความจะช่วยให้คุณรับมือกับการเปิดไฟล์ดังกล่าวได้

คุณสมบัติหลักของสคริปต์ในรูปแบบ JSON คือความสามารถในการสับเปลี่ยนกับรูปแบบ XML ทั้งสองประเภทเป็นเอกสารข้อความที่สามารถเปิดได้ด้วยโปรแกรมประมวลผลคำ อย่างไรก็ตาม เราจะเริ่มต้นด้วยซอฟต์แวร์พิเศษ

วิธีที่ 1: Altova XMLSpy

สภาพแวดล้อมการพัฒนาที่ค่อนข้างเป็นที่รู้จักซึ่งโปรแกรมเมอร์เว็บก็ใช้เช่นกัน สภาพแวดล้อมนี้ยังสร้างไฟล์ JSON จึงสามารถเปิดเอกสารของบุคคลที่สามด้วยส่วนขยายนี้ได้


ซอฟต์แวร์นี้มีข้อเสียสองประการ ประการแรกคือพื้นฐานการแจกจ่ายแบบชำระเงิน เวอร์ชันทดลองใช้มีอายุการใช้งาน 30 วัน แต่หากต้องการรับเวอร์ชันนี้ คุณต้องระบุชื่อและที่อยู่อีเมล ประการที่สองคือความยุ่งยากทั่วไป: สำหรับคนที่ต้องการเปิดไฟล์มันอาจดูซับซ้อนเกินไป

วิธีที่ 2: แผ่นจดบันทึก ++

โปรแกรมแก้ไขข้อความมัลติฟังก์ชั่น Notepad++ เป็นโปรแกรมแรกในรายการสคริปต์ที่เหมาะสำหรับการเปิดรูปแบบ JSON


Notepad++ มีข้อดีมากมาย - แสดงไวยากรณ์ของภาษาการเขียนโปรแกรมหลายภาษา รองรับปลั๊กอิน และมีขนาดเล็ก... อย่างไรก็ตาม เนื่องจากคุณสมบัติบางอย่าง โปรแกรมจึงทำงานช้า โดยเฉพาะอย่างยิ่งหากคุณเปิดเอกสารขนาดใหญ่ในนั้น

วิธีที่ 3: AkelPad

โปรแกรมแก้ไขข้อความที่เรียบง่ายอย่างไม่น่าเชื่อและในเวลาเดียวกันก็เต็มไปด้วยความสามารถจากนักพัฒนาชาวรัสเซีย รูปแบบที่รองรับ ได้แก่ JSON


เช่นเดียวกับ Notepad++ ตัวเลือก Notepad นี้ยังฟรีและรองรับปลั๊กอินอีกด้วย ทำงานได้เร็วขึ้น แต่ไฟล์ขนาดใหญ่และซับซ้อนอาจไม่เปิดในครั้งแรก ดังนั้น โปรดคำนึงถึงคุณลักษณะนี้

วิธีที่ 4: แก้ไขโคโมโด

ซอฟต์แวร์ฟรีสำหรับเขียนโค้ดโปรแกรมจาก Komodo มีอินเทอร์เฟซที่ทันสมัยและรองรับโปรแกรมเมอร์ในวงกว้าง


น่าเสียดายที่โปรแกรมนี้ไม่มีภาษารัสเซีย อย่างไรก็ตามผู้ใช้โดยเฉลี่ยมีแนวโน้มที่จะถูกเลิกใช้งานโดยฟังก์ชันการทำงานที่มากเกินไปและองค์ประกอบอินเทอร์เฟซที่เข้าใจยาก - ท้ายที่สุดแล้วตัวแก้ไขนี้มุ่งเป้าไปที่โปรแกรมเมอร์เป็นหลัก

วิธีที่ 5: ข้อความประเสริฐ

ตัวแทนอีกคนหนึ่งของโปรแกรมแก้ไขข้อความเชิงโค้ด อินเทอร์เฟซนั้นง่ายกว่าของเพื่อนร่วมงาน แต่ความสามารถก็เหมือนกัน แอปพลิเคชันเวอร์ชันพกพาก็มีให้ใช้งานเช่นกัน


ขออภัย Sublime Text ไม่มีให้บริการในภาษารัสเซีย รูปแบบการแจกจ่ายแชร์แวร์อาจเรียกได้ว่าเป็นข้อเสีย: เวอร์ชันฟรีไม่ จำกัด แต่อย่างใด แต่ในบางครั้งจะมีการแจ้งเตือนเกี่ยวกับความจำเป็นในการซื้อใบอนุญาต

วิธีที่ 6: NFOPad

กระดาษจดบันทึกแบบธรรมดายังเหมาะสำหรับการดูเอกสารที่มีส่วนขยาย JSON