[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-1-1-all-what-is-json-beginners-guide-all--*":3,"academy-blog-faqs-yk9kmxtztwvd054-th":91,"academy-blog-translations-yk9kmxtztwvd054":116},{"data":4,"page":90,"perPage":90,"totalItems":90,"totalPages":90},[5],{"alt":6,"collectionId":7,"collectionName":8,"content":9,"cover_image":10,"cover_image_l_url":11,"cover_image_m_url":12,"cover_image_path":13,"cover_image_s_url":14,"created":15,"created_by":16,"expand":17,"id":83,"keywords":84,"locale":54,"published_at":85,"scheduled_at":70,"school_blog":79,"short_description":86,"status":77,"title":87,"updated":88,"updated_by":89,"slug":80,"views":82},"ปกบทความ JSON คือไฟล์อะไร ภาพมุมบนของกล่องเปล่าซ้อนกันเป็นชั้น กล่องกระดาษใบเล็กอยู่ในกล่องไม้ที่วางในถาดสีเขียว แทน Object ที่ซ้อนกันใน JSON พร้อมตัวอย่างค่า \"login\": \"octocat\", \"site_admin\": false และ \"email\": null จาก GitHub REST API","sclblg987654321","school_blog_translations","\u003Cp>ลองนึกภาพว่าคุณเพิ่งพิมพ์ https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat ลงเบราว์เซอร์ตามบทความ API ที่เราเคยพาลอง แล้วหน้าจอก็เต็มไปด้วยวงเล็บปีกกา เครื่องหมายคำพูด โคลอน และจุลภาค ดูเหมือนโค้ด แต่ก็ไม่เหมือนโค้ดที่เคยเห็น หลายคนหยุดอยู่ตรงนั้นเพราะคิดว่าต้องเรียนภาษาใหม่อีกหนึ่งภาษาก่อนถึงจะอ่านออก\u003C\u002Fp>\u003Cp>ข่าวดีคือไม่ต้อง สิ่งที่คุณเห็นคือ JSON และกติกาทั้งหมดของมันสั้นพอจะอ่านจบในบทความเดียว วันนี้ Superdev Academy จะพาอ่าน JSON จากคำตอบจริงของ GitHub ทีละบรรทัด ตั้งแต่ Object, Array, คู่ Key กับ Value ไปจนถึงข้อผิดพลาดที่ทำให้ไฟล์ JSON พังบ่อยที่สุด\u003C\u002Fp>\u003Ch2>JSON คือไฟล์ข้อมูลแบบข้อความ ไม่ใช่ภาษาโปรแกรม\u003C\u002Fh2>\u003Cp>JSON ย่อมาจาก JavaScript Object Notation เป็นรูปแบบการเขียนข้อมูลเป็นข้อความธรรมดา เพื่อให้โปรแกรมต่างภาษากันส่งข้อมูลหากันได้ มาตรฐาน \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fecma-international.org\u002Fpublications-and-standards\u002Fstandards\u002Fecma-404\u002F\">ECMA-404\u003C\u002Fa> อธิบายว่า JSON คือ Text Syntax (รูปแบบการเขียนข้อความ) ที่ช่วยให้ข้อมูลที่มีโครงสร้างส่งต่อกันได้ระหว่างภาษาโปรแกรมทุกภาษา ส่วนเอกสาร \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc8259\">RFC 8259\u003C\u002Fa> ของ IETF กำหนดนามสกุลไฟล์เป็น .json และชื่อชนิดข้อมูลเป็น application\u002Fjson\u003C\u002Fp>\u003Cp>พูดง่ายๆ ไฟล์ JSON คือไฟล์ข้อความที่เปิดด้วย Notepad ก็อ่านได้ ข้างในมีแค่ข้อมูล ไม่มีคำสั่ง if ไม่มีลูป ไม่มีฟังก์ชัน มันจึงไม่ใช่ภาษาโปรแกรม มันทำงานเองไม่ได้ ต้องมีโปรแกรมที่เขียนด้วย JavaScript, Python, Go หรือภาษาอื่นมาอ่านมันอีกที\u003C\u002Fp>\u003Cblockquote>\u003Cp>Fun Fact: ECMA-404 ฉบับปี 2017 ใส่เชิงอรรถไว้เลยว่า JSON ออกเสียงแบบชื่อ \"Jason\" ใน Jason and The Argonauts คนไทยจึงอ่านว่า \"เจสัน\" ได้เต็มปาก\u003C\u002Fp>\u003C\u002Fblockquote>\u003Ch2>อ่าน JSON จากของจริง: คำตอบของ GitHub\u003C\u002Fh2>\u003Cp>นี่คือคำตอบจาก GitHub REST API เมื่อขอข้อมูลบัญชี octocat เราตัดมาเฉพาะบางช่อง ค่าบางตัวอย่าง public_repos อาจเปลี่ยนไปตามวันที่คุณเปิด (เราดึงเมื่อ 29 กันยายน 2026) แต่หน้าตาโครงสร้างจะเหมือนเดิม\u003C\u002Fp>\u003Cpre>\u003Ccode>{\n  \"login\": \"octocat\",\n  \"id\": 583231,\n  \"name\": \"The Octocat\",\n  \"site_admin\": false,\n  \"email\": null,\n  \"public_repos\": 8\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>อ่านได้ด้วยกติกา 4 ข้อ\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>ทั้งก้อนครอบด้วยวงเล็บปีกกา { } เรียกว่า Object (ออบเจกต์) คือกล่องที่เก็บข้อมูลหลายช่องไว้ด้วยกัน\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>แต่ละช่องเป็นคู่ของ Key กับ Value คั่นด้วยโคลอน เช่น \"login\": \"octocat\" แปลว่าช่องชื่อ login มีค่าเป็น octocat\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Key ต้องอยู่ในเครื่องหมายคำพูดคู่ (\") เสมอ\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>แต่ละคู่คั่นด้วยจุลภาค และคู่สุดท้ายไม่มีจุลภาคต่อท้าย\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>แค่นี้คุณก็อ่านคำตอบข้างบนออกแล้ว บัญชีนี้ชื่อ The Octocat มีเลขประจำตัว 583231 ไม่ใช่ผู้ดูแลระบบของ GitHub และไม่ได้เปิดเผยอีเมล\u003C\u002Fp>\u003Ch2>ค่าใน JSON มีแค่ 6 ชนิด\u003C\u002Fh2>\u003Cp>RFC 8259 ระบุว่า JSON แทนข้อมูลได้ 4 ชนิดพื้นฐานกับ 2 ชนิดที่เป็นโครงสร้าง รวมเป็น 6 ชนิด ทุกชนิดมีตัวอย่างอยู่ในคำตอบของ GitHub แล้ว\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>String (ข้อความ):\u003C\u002Fstrong> อยู่ในเครื่องหมายคำพูดคู่ เช่น \"The Octocat\"\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>Number (ตัวเลข):\u003C\u002Fstrong> เขียนเลขเปล่าๆ ไม่มีเครื่องหมายคำพูด เช่น 583231\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>Boolean (จริงหรือเท็จ):\u003C\u002Fstrong> มีแค่ true กับ false เช่น \"site_admin\": false\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>null:\u003C\u002Fstrong> แปลว่าไม่มีค่า เช่น \"email\": null\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>Object:\u003C\u002Fstrong> กล่อง { } ที่ข้างในเป็นคู่ Key กับ Value\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>Array (อาร์เรย์):\u003C\u002Fstrong> รายการเรียงลำดับ ครอบด้วยวงเล็บเหลี่ยม [ ] เช่น \"topics\": []\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>จุดที่มือใหม่พลาดบ่อยคือ \"583231\" กับ 583231 ไม่ใช่ของเดียวกัน ตัวแรกเป็นข้อความที่บังเอิญเป็นตัวเลข ตัวหลังเป็นตัวเลขจริงที่เอาไปคำนวณได้ และ RFC 8259 กำหนดให้ true, false กับ null ต้องเป็นตัวพิมพ์เล็กเท่านั้น เขียน True หรือ NULL เมื่อไหร่ ไฟล์ก็อ่านไม่ได้ทันที\u003C\u002Fp>\u003Ch2>Object กับ Array ซ้อนกันได้ เหมือนกล่องในกล่อง\u003C\u002Fh2>\u003Cp>ข้อมูลจริงไม่ได้แบนเป็นชั้นเดียว ลองขอรายการ Repository ของ octocat ผ่าน https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat\u002Frepos คำตอบจะขึ้นต้นด้วย [ เพราะเป็น Array ของ Repository หลายตัว เราตัดมาให้ดูตัวเดียวและเฉพาะบางช่อง\u003C\u002Fp>\u003Cpre>\u003Ccode>[\n  {\n    \"name\": \"Spoon-Knife\",\n    \"private\": false,\n    \"owner\": {\n      \"login\": \"octocat\",\n      \"type\": \"User\"\n    },\n    \"language\": \"HTML\",\n    \"topics\": []\n  }\n]\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>อ่านจากนอกเข้าใน ชั้นนอกสุดคือ Array ข้างในมี Object ของ Repository ชื่อ Spoon-Knife และในนั้นมีช่อง owner ซึ่งเป็น Object อีกกล่องที่บอกว่าเจ้าของคือ octocat ส่วน topics เป็น Array ว่าง แปลว่า Repository นี้ยังไม่ได้ติดหัวข้อไว้\u003C\u002Fp>\u003Cp>ถ้าอยากได้ชื่อเจ้าของ ให้ไล่ทางเดินแบบนี้: เริ่มจากตัวแรกของ Array เข้าไปที่ owner แล้วหยิบ login ออกมา ในภาษา JavaScript เขียนสั้นๆ ได้เป็น data[0].owner.login ซึ่งจะได้ค่า \"octocat\" ออกมา การอ่าน JSON ที่ซ้อนหลายชั้นจึงไม่ได้ยากขึ้น แค่ต้องเปิดกล่องทีละชั้น\u003C\u002Fp>\u003Ch2>3 จุดที่ทำให้ JSON พังบ่อยที่สุด\u003C\u002Fh2>\u003Cp>JSON เข้มงวดกว่าที่หน้าตาบอก ขาดหรือเกินไปตัวเดียว โปรแกรมก็ปฏิเสธทั้งไฟล์ เราลองส่งข้อความที่ผิดทั้ง 3 แบบเข้า JSON.parse() ใน Node.js v26 ข้อความ Error ที่ได้เป็นแบบนี้ (ถ้าใช้เบราว์เซอร์หรือภาษาอื่น ถ้อยคำจะต่างไป แต่ความหมายเหมือนกัน)\u003C\u002Fp>\u003Cp>\u003Cstrong>1. จุลภาคเกินท้ายรายการ (Trailing Comma)\u003C\u002Fstrong>\u003C\u002Fp>\u003Cpre>\u003Ccode>{\"login\": \"octocat\",}\nSyntaxError: Expected double-quoted property name in JSON at position 20 (line 1 column 21)\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>โปรแกรมเห็นจุลภาคแล้วรอ Key ตัวถัดไป แต่เจอวงเล็บปิดแทน\u003C\u002Fp>\u003Cp>\u003Cstrong>2. ใช้เครื่องหมายคำพูดเดี่ยว\u003C\u002Fstrong>\u003C\u002Fp>\u003Cpre>\u003Ccode>{'login': 'octocat'}\nSyntaxError: Expected property name or '}' in JSON at position 1 (line 1 column 2)\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>JavaScript ยอมให้ใช้ ' ได้ แต่ JSON รับแค่ \" เท่านั้น ทั้ง Key และ String\u003C\u002Fp>\u003Cp>\u003Cstrong>3. ใส่ Comment\u003C\u002Fstrong>\u003C\u002Fp>\u003Cpre>\u003Ccode>{\"login\": \"octocat\" \u002F\u002F บัญชีตัวอย่าง\n}\nSyntaxError: Expected ',' or '}' after property value in JSON at position 20 (line 1 column 21)\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>ตามเอกสาร \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FJavaScript\u002FReference\u002FGlobal_Objects\u002FJSON\">MDN\u003C\u002Fa> JSON ไม่รองรับ Comment เลย ทั้งแบบ \u002F\u002F และ \u002F* *\u002F\u003C\u002Fp>\u003Cp>ข้อสังเกตที่ช่วยได้มากคือตัวเลข position ในข้อความ Error มันบอกตำแหน่งตัวอักษรที่โปรแกรมเริ่มอ่านไม่ออก นับจาก 0 ให้ไปดูตรงนั้นและตัวก่อนหน้า ส่วนใหญ่จะเจอต้นเหตุภายในไม่กี่ตัวอักษร\u003C\u002Fp>\u003Ch2>แต่ settings.json ของ VS Code ก็ใส่ Comment ได้นี่\u003C\u002Fh2>\u003Cp>จริง และถ้าคุณเคยเปิดไฟล์ตั้งค่าของ VS Code ก็คงเห็น \u002F\u002F อยู่ในนั้น \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Flanguages\u002Fjson\">เอกสารของ VS Code\u003C\u002Fa> อธิบายว่าไฟล์อย่าง settings.json, tasks.json และ launch.json ใช้โหมด JSON with Comments (jsonc) ซึ่งยอมให้ใส่ Comment ได้ และยอมรับจุลภาคท้ายรายการด้วย แต่จะขึ้นคำเตือน\u003C\u002Fp>\u003Cp>แต่นั่นคือส่วนขยายที่โปรแกรมหนึ่งเลือกยอมรับเอง RFC 8259 เปิดช่องให้ Parser (ตัวอ่าน JSON) รับรูปแบบที่ไม่ใช่ JSON ได้ถ้าอยากทำ ไม่ได้แปลว่าทุกโปรแกรมจะยอม ไฟล์ package.json ของ Node.js เป็นตัวอย่างฝั่งตรงข้าม เอกสารของ npm เขียนไว้ชัดว่าต้องเป็น JSON จริงๆ ไม่ใช่แค่ Object ของ JavaScript\u003C\u002Fp>\u003Cp>กติกาที่ปลอดภัยจึงเป็นแบบนี้ ไฟล์ที่ต้องส่งให้โปรแกรมอื่นอ่าน หรือข้อมูลที่ส่งผ่าน API ให้เขียนเป็น JSON ตามมาตรฐานเท่านั้น อย่าคิดว่าที่เครื่องเราอ่านได้ ปลายทางจะอ่านได้ด้วย\u003C\u002Fp>\u003Ch2>JSON ใช้ทำอะไร: 4 ที่ที่คุณจะเจอมันแน่ๆ\u003C\u002Fh2>\u003Cp>พอรู้จักหน้าตาแล้ว คุณจะเริ่มเห็นมันแทบทุกที่ในงานเขียนโปรแกรม\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>คำตอบจาก API:\u003C\u002Fstrong> API บนเว็บจำนวนมากส่งข้อมูลกลับมาเป็น JSON แบบที่เราเห็นจาก GitHub ถ้ายังไม่เคยลองเรียกเอง อ่านต่อได้ที่ \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fblogs\u002Fwhat-is-api-beginners-guide\">API คืออะไร ทำงานอย่างไร พร้อมตัวอย่างสำหรับมือใหม่\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>package.json:\u003C\u002Fstrong> ทุกโปรเจกต์ Node.js มีไฟล์นี้ไว้บอกชื่อโปรเจกต์ เวอร์ชัน และรายการ Library ที่ใช้ ในไฟล์นี้ช่อง name กับ version สำคัญที่สุดเมื่อจะเผยแพร่แพ็กเกจ\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>ไฟล์ตั้งค่า:\u003C\u002Fstrong> โปรแกรมจำนวนมากเก็บการตั้งค่าเป็นไฟล์ .json รวมถึงโปรแกรมแก้โค้ดอย่าง \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fblogs\u002Fvs-code-popular-editor-developers\">VS Code\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>คำตอบจาก AI:\u003C\u002Fstrong> เวลาอยากให้ AI ตอบกลับมาเป็นข้อมูลที่โปรแกรมเอาไปใช้ต่อได้ ก็มักสั่งให้ตอบเป็น JSON ซึ่งเราเคยเขียนไว้ใน \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fblogs\u002Fgolang-the-series-ep147-structured-output-ai-json\">Golang The Series EP.147: Structured Output\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>ขั้นต่อไป: ให้โปรแกรมอ่าน JSON แทนตา\u003C\u002Fh2>\u003Cp>ในภาษา JavaScript มีเครื่องมือมาให้ในตัว 2 ตัว JSON.parse() แปลงข้อความ JSON ให้เป็นข้อมูลที่โปรแกรมใช้ได้ ส่วน JSON.stringify() ทำกลับกัน คือแปลงข้อมูลในโปรแกรมเป็นข้อความ JSON เพื่อส่งต่อหรือบันทึกลงไฟล์\u003C\u002Fp>\u003Cpre>\u003Ccode>JSON.stringify({ login: \"octocat\", public_repos: 8 })\n\u002F\u002F ได้ข้อความ {\"login\":\"octocat\",\"public_repos\":8}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>สังเกตว่า JSON.stringify() เติมเครื่องหมายคำพูดคู่ให้ Key ทุกตัวเอง นี่คือเหตุผลที่ข้อมูลซึ่งให้โปรแกรมสร้าง แทบไม่เคยเจอปัญหา 3 ข้อข้างบน ส่วนใหญ่ JSON พังตอนที่คนพิมพ์เองด้วยมือ ถ้าอยากเห็นว่าภาษาอื่นจัดการ JSON ต่างจาก JavaScript ยังไง ตอน \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fblogs\u002Fjs2go-ep22-json-javascript-vs-go\">JS2GO EP.22 การทำงานกับ JSON\u003C\u002Fa> เทียบให้ดูกับภาษา Go แบบละเอียด\u003C\u002Fp>\u003Cdiv data-type=\"horizontalRule\">\u003Chr>\u003C\u002Fdiv>\u003Ch2>สรุป: JSON คือไฟล์อะไร อ่านยังไง\u003C\u002Fh2>\u003Cp>JSON คือไฟล์ข้อความที่เก็บข้อมูลตามกติกาชุดเล็กๆ ไม่ใช่ภาษาโปรแกรม ข้อมูลอยู่ในรูปคู่ Key กับ Value ภายใน Object { } หรือเรียงเป็นรายการใน Array [ ] ค่าที่ใส่ได้มีแค่ 6 ชนิด คือ String, Number, true\u002Ffalse, null, Object และ Array ส่วนสิ่งที่ทำให้ไฟล์พังบ่อยที่สุดคือจุลภาคเกิน เครื่องหมายคำพูดเดี่ยว และ Comment\u003C\u002Fp>\u003Cp>วิธีที่ดีที่สุดที่จะอ่าน JSON คล่องคือเปิดของจริงบ่อยๆ ลองเปิด https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat\u002Frepos แล้วหาชื่อภาษาของแต่ละ Repository ด้วยตาก่อน จากนั้นลองพิมพ์ JSON สั้นๆ เองแล้วส่งเข้า JSON.parse() ถ้ามันขึ้น Error ให้อ่านตำแหน่งที่มันบอก คุณจะเก่งเรื่องนี้เร็วกว่าการท่องกติกาหลายเท่า\u003C\u002Fp>\u003Cp>ติดตามบทความและเทคนิคสำหรับคนเริ่มต้นสายโปรแกรมเมอร์ได้ที่ช่องทางของเรา\u003C\u002Fp>\u003Cp>Facebook: \u003Cstrong>Superdev Academy Thailand\u003C\u002Fstrong> — \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.facebook.com\u002Fsuperdev.academy.th\">https:\u002F\u002Fwww.facebook.com\u002Fsuperdev.academy.th\u003C\u002Fa>\u003C\u002Fp>\u003Cp>YouTube: \u003Cstrong>Superdev Academy Channel\u003C\u002Fstrong> — \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.youtube.com\u002F@SuperdevAcademy\">https:\u002F\u002Fwww.youtube.com\u002F@SuperdevAcademy\u003C\u002Fa>\u003C\u002Fp>\u003Cp>Instagram: \u003Cstrong>@superdevacademy\u003C\u002Fstrong> — \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.instagram.com\u002Fsuperdevacademy\u002F\">https:\u002F\u002Fwww.instagram.com\u002Fsuperdevacademy\u002F\u003C\u002Fa>\u003C\u002Fp>\u003Cp>TikTok: \u003Cstrong>@superdevacademy\u003C\u002Fstrong> — \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.tiktok.com\u002F@superdevacademy?lang=th-TH\">https:\u002F\u002Fwww.tiktok.com\u002F@superdevacademy?lang=th-TH\u003C\u002Fa>\u003C\u002Fp>","cover_cover_88aa74y4c0.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F73v2exxe0r7xy4i\u002Fl\u002Fcover_cover_88aa74y4c0.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F73v2exxe0r7xy4i\u002Fm\u002Fcover_cover_88aa74y4c0.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F73v2exxe0r7xy4i\u002Fcover_cover_88aa74y4c0.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F73v2exxe0r7xy4i\u002Fs\u002Fcover_cover_88aa74y4c0.webp","2026-09-29 04:46:53.201Z","wfztm6bp9384v3u",{"keywords":18,"locale":48,"school_blog":58},[19,25,29,32,36,40,44],{"collectionId":20,"collectionName":21,"created":22,"created_by":16,"id":23,"name":24,"updated":22,"updated_by":16},"sclkey987654321","school_keywords","2026-09-29 04:46:53.193Z","ivxky7tjv2krtt4","json คือ",{"collectionId":20,"collectionName":21,"created":26,"created_by":16,"id":27,"name":28,"updated":26,"updated_by":16},"2026-09-29 04:46:53.194Z","0t51nbgc4jpuemq","json คือไฟล์อะไร",{"collectionId":20,"collectionName":21,"created":26,"created_by":16,"id":30,"name":31,"updated":26,"updated_by":16},"cd1mkdi925ucoio","ไฟล์ json",{"collectionId":20,"collectionName":21,"created":33,"created_by":16,"id":34,"name":35,"updated":33,"updated_by":16},"2026-09-29 04:46:53.195Z","o7yw1zwltbvkgpp","json format",{"collectionId":20,"collectionName":21,"created":37,"created_by":16,"id":38,"name":39,"updated":37,"updated_by":16},"2026-09-29 04:46:53.196Z","sfjybzj7h7h6ti9","json คือภาษาอะไร",{"collectionId":20,"collectionName":21,"created":41,"created_by":16,"id":42,"name":43,"updated":41,"updated_by":16},"2026-09-29 04:46:53.197Z","tcmgil82it20pwi","json อ่านว่า",{"collectionId":20,"collectionName":21,"created":45,"created_by":16,"id":46,"name":47,"updated":45,"updated_by":16},"2026-09-29 04:46:53.198Z","y78jj94rlcwjh2z","json object array",{"code":49,"collectionId":50,"collectionName":51,"created":52,"flag":53,"id":54,"is_default":55,"label":56,"updated":57},"th","pbc_1989393366","locales","2026-01-22 10:59:55.832Z","twemoji:flag-thailand","s8wri3bt4vgg2ji",true,"Thai","2026-04-10 15:42:46.614Z",{"category":59,"collectionId":60,"collectionName":61,"created":45,"expand":62,"id":79,"slug":80,"updated":81,"views":82},"spm4l1k5bgmhmmt","pbc_2105096300","school_blogs",{"category":63},{"blogIds":64,"collectionId":65,"collectionName":66,"created":67,"created_by":68,"id":59,"image":69,"image_alt":70,"image_path":71,"image_s_url":72,"label":73,"name":74,"priority":75,"publish_at":76,"scheduled_at":70,"status":77,"updated":78,"updated_by":68},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:31:18.590Z","76qprkevbgfdps8","50hyjr6os45_ayazwr5gq7_tqzz9l5y5w.webp","","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fspm4l1k5bgmhmmt\u002F50hyjr6os45_ayazwr5gq7_tqzz9l5y5w.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fspm4l1k5bgmhmmt\u002Fs\u002F50hyjr6os45_ayazwr5gq7_tqzz9l5y5w.webp",{"en":74,"th":74},"Knowledge",0,"2026-03-18 02:25:41.222Z","published","2026-08-18 14:49:11.737Z","yk9kmxtztwvd054","what-is-json-beginners-guide","2026-10-14 13:41:46.832Z",105,"73v2exxe0r7xy4i",[23,27,30,34,38,42,46],"2026-10-14 01:33:02.751Z","JSON คือไฟล์ข้อมูลแบบข้อความ ไม่ใช่ภาษาโปรแกรม มาอ่าน JSON จากคำตอบจริงของ GitHub API ทั้ง Object, Array, ค่า 6 ชนิด และ 3 จุดที่ทำให้ไฟล์ JSON พังบ่อยที่สุด","JSON คือไฟล์อะไร? อ่านข้อมูล JSON ให้เป็น สำหรับมือใหม่","2026-10-14 03:50:50.199Z","ebkf8ra4nd55ual",1,[92,96,100,104,108,112],{"answer":93,"id":94,"question":95},"JSON ไม่ใช่ภาษาโปรแกรม มันเป็นรูปแบบการเขียนข้อมูลเป็นข้อความ มาตรฐาน ECMA-404 เรียก JSON ว่า Text Syntax สำหรับส่งข้อมูลที่มีโครงสร้างระหว่างภาษาโปรแกรม ในไฟล์ JSON ไม่มีคำสั่ง if ไม่มีลูป และไม่มีฟังก์ชัน ต้องมีโปรแกรมที่เขียนด้วย JavaScript, Python หรือ Go มาอ่านข้อมูลในไฟล์ไปใช้อีกทีหนึ่ง","0a9n2tfo1am9cuc","JSON เป็นภาษาโปรแกรมไหม",{"answer":97,"id":98,"question":99},"JSON อ่านว่า \"เจสัน\" เหมือนชื่อคน มาตรฐาน ECMA-404 ฉบับปี 2017 ใส่เชิงอรรถไว้ว่าออกเสียงแบบชื่อ Jason ในเรื่อง Jason and The Argonauts ตัวย่อ JSON มาจาก JavaScript Object Notation เพราะรูปแบบการเขียนได้แรงบันดาลใจจาก Object ในภาษา JavaScript แต่ทุกภาษาโปรแกรมก็อ่าน JSON ได้","6w47428r054ecql","JSON อ่านว่าอะไร",{"answer":101,"id":102,"question":103},"ไฟล์ .json เปิดได้ด้วยโปรแกรมแก้ไขข้อความทุกตัว เพราะข้างในเป็นข้อความธรรมดา เช่น Notepad บน Windows, TextEdit บน macOS หรือ VS Code ซึ่งช่วยแสดงสีและเตือนเมื่อเขียนผิดรูปแบบ ถ้าจะแก้ไฟล์ .json ด้วยมือ ต้องระวังจุลภาคเกินท้ายรายการและเครื่องหมายคำพูดเดี่ยว เพราะสองอย่างนี้ทำให้โปรแกรมอื่นอ่านไฟล์ไม่ได้","7xu53mi1a47mqjz","ไฟล์ .json เปิดด้วยโปรแกรมอะไร",{"answer":105,"id":106,"question":107},"JSON ตามมาตรฐานใส่ Comment ไม่ได้ ทั้งแบบ \u002F\u002F และ \u002F* *\u002F ถ้าใส่แล้วส่งเข้า JSON.parse() ใน Node.js จะได้ SyntaxError ทันที ข้อยกเว้นคือไฟล์อย่าง settings.json ของ VS Code ซึ่งใช้โหมด JSON with Comments (jsonc) ที่ยอมรับ Comment ได้ แต่ไฟล์ที่ส่งให้โปรแกรมอื่นอ่านหรือส่งผ่าน API ควรเป็น JSON ตามมาตรฐานเสมอ","lo9x3hgcz8bqv73","ใส่ Comment ในไฟล์ JSON ได้ไหม",{"answer":109,"id":110,"question":111},"JSON ใส่ภาษาไทยได้ เพราะ String ใน JSON เป็นตัวอักษร Unicode และ RFC 8259 กำหนดให้ JSON ที่ส่งระหว่างระบบต้องเข้ารหัสแบบ UTF-8 ซึ่งรองรับภาษาไทย ตัวอย่างเช่น {\"name\": \"สวัสดี\"} อ่านผ่าน JSON.parse() ได้ตามปกติ ถ้าภาษาไทยกลายเป็นตัวอักษรแปลกๆ ให้เช็กว่าไฟล์ถูกบันทึกเป็น UTF-8 หรือเปล่า","znns4sk61a7blui","JSON ใส่ภาษาไทยได้ไหม",{"answer":113,"id":114,"question":115},"JSON.parse() แปลงข้อความ JSON ให้เป็นข้อมูลที่โปรแกรม JavaScript ใช้งานได้ ส่วน JSON.stringify() ทำกลับกัน คือแปลงข้อมูลในโปรแกรมเป็นข้อความ JSON เช่น JSON.stringify({ login: \"octocat\" }) จะได้ข้อความ {\"login\":\"octocat\"} ใช้ parse ตอนรับข้อมูลจาก API หรือไฟล์ และใช้ stringify ตอนจะส่งข้อมูลออกไปหรือบันทึกลงไฟล์","r8h68sadasb4pz6","JSON.parse กับ JSON.stringify ต่างกันยังไง",{"th":80,"en":80}]