ฉันควรใช้ JSON เพื่อใช้ JSON


11

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

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

ดังนั้นโดยพื้นฐานแล้วฟังก์ชั่นใดที่จะใช้งานได้ดีที่สุดโดยใช้ JSON


4
ทางเลือกคืออะไร คิดค้นรูปแบบข้อมูลของคุณเองหรือ

@delnan: Yaml, CSV ฉันอาจนึกถึงคนอื่นไม่กี่คน
Robert Harvey

10
ไม่ค่อยมีการใช้ blah เพื่อประโยชน์ในการใช้ blah แผนฉลาด ดูสิ่งที่ JSON นั้นดีและพิจารณาว่ามันคุ้มค่าที่จะใช้ JSON สำหรับลักษณะเฉพาะเหล่านั้นหรือไม่
whatsisname

@RobertHarvey: หรือแบบฟอร์ม HTTP มาตรฐาน
cHao

7
I'm building a blogging site for learning- การเรียนรู้เทคโนโลยีที่เกี่ยวข้อง? หรือเพื่อให้เนื้อหาสำหรับผู้อื่น? ถ้าในอดีตใช้อย่างแน่นอน - json เพื่อประโยชน์ในการใช้มันคุณจึงเรียนรู้ที่จะใช้มัน ท้าทายตัวเองด้วยเทคโนโลยีใหม่ - ไม่เช่นนั้นคุณจะไม่เรียนรู้วิธีใช้

คำตอบ:


15

JSON มีข้อได้เปรียบเล็กน้อย:

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

กฎง่ายๆของฉันคือถ้าคุณต้องการคืนองค์ประกอบความหมายเดียวจากการโทรให้ส่งเป็นข้อความธรรมดา แต่ถ้าคุณต้องการส่งคืนข้อมูลหลายชิ้นให้ใช้ JSON


6
ในการพูดกับส่วนของ JS ไม่เคยใช้ eval เพื่อให้ได้คุณค่าของมันแทนที่จะใช้ JSON.parse ที่มีอยู่ในเบราว์เซอร์ส่วนใหญ่
ratchet freak

1
มันพูดได้อย่างง่ายดายเพื่อ PHP เช่นกันเนื่องจากjson_decode()และjson_encode()แปลงระหว่างสตริง JSON และพื้นเมืองArray()โครงสร้างข้อมูล
Izkata

@Izkata เฉพาะเมื่อเซิร์ฟเวอร์ของคุณมีฟังก์ชั่นเหล่านั้น
Darth Egregious

ยกเว้นในกรณีที่มีการส่งแบบฟอร์มที่ใช้แบ่ง JSON มาตรฐาน ทำไมต้องแก้ไขสิ่งที่ไม่เสียหาย
เบรนแดน Long

2
@BrendanLong: มาตรฐานนั้นไม่ได้พูดอะไรเกี่ยวกับการใช้หรือไม่ใช้ JSON เห็นได้ชัดว่าหากคุณกำลังส่งแบบฟอร์มคุณควรเข้ารหัสข้อมูลทั้งหมดตามมาตรฐาน HTTP แต่ถ้าหนึ่งในองค์ประกอบของฟอร์มที่คุณส่งเป็นไอเท็มที่ซับซ้อนที่มีอิลิเมนต์ความหมายหลายองค์ประกอบการวางองค์ประกอบนั้นในรูปแบบ JSON (ซึ่งถูกเข้ารหัสแล้วอย่างถูกต้องโดยไลบรารี HTTP ของคุณ) เป็นวิธีที่ดีในการทำ
Mason Wheeler

5

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

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


2

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


1

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


คุณไม่จำเป็นต้องเรียนรู้จาวาสคริปต์ในการใช้ / ใช้ JSON ในทางที่ผิด มันเป็นภาษาที่เป็นอิสระ
CokoBWare

0

ในขณะที่ JSON สามารถขยายได้มากและมีโครงสร้างที่ดี แต่ก็ไม่ใช่วิธีที่เร็วที่สุด

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

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

ในการแก้ปัญหาเรื่องความสามารถในการขยายไฟล์ไบนารีคุณสามารถแท็กโครงสร้างของคุณด้วยรหัส 4 ตัวอักษรสำหรับชื่อโครงสร้างและหมายเลข 1-2 ไบต์สำหรับรุ่น


6
JSON เป็นรูปแบบข้อมูลไม่ใช่ฐานข้อมูล
Robert Harvey

ใช่ แต่สามารถใช้เก็บอาร์เรย์ได้
Triang3l
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.