คำถามติดแท็ก json

JSON (สัญลักษณ์วัตถุ JavaScript) aka Fat Free Alternative to XML เป็นรูปแบบการแลกเปลี่ยนข้อมูลที่มีน้ำหนักเบาซึ่งได้รับแรงบันดาลใจจากตัวอักษรวัตถุ JavaScript มันมักจะใช้กับ JavaScript, Ajax และบริการเว็บสงบ แต่เป็นภาษาที่สมบูรณ์

12
เราสามารถแทนที่ XML ด้วย JSON ได้ทั้งหมดหรือไม่ [ปิด]
ฉันแน่ใจว่านักพัฒนาจำนวนมากคุ้นเคยกับXMLและJSONและพวกเขาใช้ทั้งคู่ ดังนั้นจึงไม่มีประเด็นในการอธิบายว่าพวกเขาคืออะไรและอะไรคือจุดประสงค์ของพวกเขาแม้โดยสังเขป หากเราพยายามทำแผนที่แนวคิดของพวกเขาเราสามารถพูดได้ (แก้ไขให้ฉันถ้าฉันผิด): แท็ก XML เทียบเท่ากับ JSON {} แอตทริบิวต์ XML เทียบเท่ากับคุณสมบัติ JSON การรวบรวมแท็ก XML เทียบเท่ากับ JSON [] สิ่งเดียวที่ฉันสามารถคิดซึ่งไม่ได้อยู่ใน JSON เป็นNamespaces XML คำถามคือเมื่อพิจารณาการทำแผนที่นี้และการพิจารณาว่า JSON นั้นมีน้ำหนักเบามากในการทำแผนที่นี้เราสามารถมองเห็นโลกในอนาคต (หรืออย่างน้อยก็ในความคิดทางทฤษฎีเกี่ยวกับโลก) โดยปราศจาก XML แต่ JSON ทำทุกอย่าง เราสามารถใช้ JSON ได้ทุกที่ที่ใช้ XML หรือไม่ PS: โปรดทราบว่าผมเคยเห็นนี้คำถาม มันเป็นสิ่งที่แตกต่างอย่างสิ้นเชิงจากสิ่งที่ฉันถามที่นี่ ดังนั้นโปรดอย่าพูดถึงที่ซ้ำกัน
78 xml  json 

7
ความคิดที่แย่คือการใช้ไฟล์ Python เป็นไฟล์กำหนดค่า
ฉันใช้ไฟล์JSONเพื่อกำหนดค่าแอปพลิเคชันของฉันเสมอ ฉันเริ่มใช้พวกเขาตั้งแต่ตอนที่ฉันเขียนโค้ด Java จำนวนมากและตอนนี้ฉันทำงานเป็นหลักเกี่ยวกับการพัฒนา Python ด้านเซิร์ฟเวอร์และวิทยาศาสตร์ข้อมูลและฉันไม่แน่ใจว่าJSONเป็นวิธีที่เหมาะสมที่จะไปอีกต่อไป ฉันเห็น Celery ใช้ไฟล์ Python ที่แท้จริงเพื่อกำหนดค่า ตอนแรกฉันสงสัยเกี่ยวกับมัน แต่แนวคิดของการใช้โครงสร้างข้อมูล Python ง่าย ๆ สำหรับการกำหนดค่าเริ่มที่จะเพิ่มขึ้น ข้อดีบางประการ: โครงสร้างข้อมูลจะเหมือนกับที่ฉันเขียนตามปกติดังนั้นฉันไม่จำเป็นต้องเปลี่ยนกรอบความคิด IDE ของฉัน (PyCharm) เข้าใจการเชื่อมต่อระหว่างการกำหนดค่าและรหัส Ctrl+ Bทำให้สามารถข้ามไปมาระหว่างการกำหนดค่าและรหัสได้อย่างง่ายดาย ฉันไม่ต้องการที่จะทำงานกับที่ไม่จำเป็น IMO เข้มงวดJSON ฉันกำลังดูคุณสองคำพูดไม่มีเครื่องหมายจุลภาคต่อท้ายและไม่มีความคิดเห็น ฉันสามารถเขียนการกำหนดค่าการทดสอบในแอปพลิเคชันที่ฉันกำลังทำงานอยู่จากนั้นจึงย้ายพวกเขาไปยังไฟล์กำหนดค่าโดยไม่ต้องทำการแปลงใด ๆ และการแยกวิเคราะห์ JSON เป็นไปได้ที่จะทำสคริปต์ง่าย ๆ ในไฟล์กำหนดค่าถ้าจำเป็นจริงๆ (แม้ว่าสิ่งนี้ควรมี จำกัด มาก) ดังนั้นคำถามของฉันคือถ้าฉันสลับฉันจะยิงตัวเองในเท้าได้อย่างไร ไม่มีผู้ใช้ที่ไม่มีทักษะจะใช้ไฟล์กำหนดค่า การเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นกับไฟล์การกำหนดค่าปัจจุบันมีความมุ่งมั่นที่จะใช้ Git และถูกนำไปใช้กับเซิร์ฟเวอร์ของเราซึ่งเป็นส่วนหนึ่งของการปรับใช้อย่างต่อเนื่อง ไม่มีการเปลี่ยนแปลงการกำหนดค่าด้วยตนเองเว้นแต่จะมีเหตุฉุกเฉินหรืออยู่ระหว่างการพัฒนา (ฉันเคยพิจารณาYAMLแต่มีบางอย่างเกี่ยวกับมันทำให้ฉันรำคาญดังนั้นสำหรับตอนนี้มันอยู่นอกโต๊ะอเมริกัน)

14
การออกแบบ RESTful API ฉันจะกลับมาได้อย่างไรหากไม่มีแถว?
ขณะนี้ฉันกำลังเขียนรหัส API สำหรับเครือข่ายสังคมด้วย Slim Framework คำถามของฉันคืออะไรแนวปฏิบัติที่ดีที่สุดเมื่อไม่มีแถวที่จะส่งคืนในโครงสร้าง json คืออะไร ให้บอกว่าการโทรนี้/ v1 / get / ภาพยนตร์ส่งคืน 2 แถวจากชื่อภาพยนตร์ตาราง: [ {"name": "Ghostbusters"}, {"name": "Indiana Jones"} ] แต่ฉันโทรหา/ v1 / get / หนังสือและไม่มีแถวในตารางนั้น ฉันควรคืนโครงสร้างว่างเปล่าไหม [ ] ... หรือว่าจะเป็นข้อความและรหัสข้อผิดพลาดดีกว่า [ "errors": { "message": "no matches found", "code": 134 } ] ข้อปฏิบัติที่ดีกว่าคืออะไร (API จะใช้ในแอพ iOS และ …

6
วิธีที่ดีที่สุดในการคืนอาเรย์เป็นการตอบกลับใน RESTful API คืออะไร
สมมติว่าเรามีทรัพยากรเช่นนี้ book: type: object properties: author: {type: string} isbn: {type: string} title: {type: string} books: type: array items: book ดังนั้นเมื่อมีคนทำGETทรัพยากรหนังสือเราจะคืนสิ่งต่อไปนี้ [{"author": "Dan Brown", "isbn": "123456", "title": "Digital Fortress"}, {"author": "JK Rowling", "isbn": "234567", "title": "Harry Potter and the Chamber of Secrets"}] ฉันได้ยินจากคนในที่ทำงานว่าวิธีปฏิบัติที่เหลือแนะนำให้กลับคำตอบเป็นวัตถุ JSON ซึ่งหมายความว่า schema ของเราสำหรับbooksจะมีลักษณะเช่นนี้ books: type: object properties: …
40 rest  json 

1
null เทียบกับคีย์ที่ขาดหายไปในการตอบสนอง REST API [ปิด]
พูดในแอปพลิเคชันของฉันผู้ใช้บางรายให้นามสกุลกับเรา ในการตอบสนอง REST API ร่างกายที่ต้องการ: ด้วยค่า "null": {"firstName": "Bob", "lastName": null} หรือคีย์ที่หายไป: {"firstName": "Bob"}
40 rest  api-design  json 

3
REST API - API ควรส่งคืนอ็อบเจ็กต์ JSON ที่ซ้อนกันหรือไม่
เมื่อพูดถึง API ของ JSON เป็นวิธีปฏิบัติที่ดีในการแผ่การตอบสนองออกและหลีกเลี่ยงวัตถุ JSON ที่ซ้อนกันหรือไม่ ตัวอย่างเช่นสมมติว่าเรามี API คล้ายกับ IMDb แต่สำหรับวิดีโอเกม มีหน่วยงานคู่เกมแพลตฟอร์ม ESRBRating และ GamePlatformMap ซึ่งทำแผนที่เกมและแพลตฟอร์ม สมมติว่าคุณร้องขอ / เกม / 1 ซึ่งดึงข้อมูลเกมด้วย ID 1 และส่งคืนออบเจ็กต์เกมด้วยแพลตฟอร์มและการซ้อนทับซ้อน { "id": 1, "title": "Game A", "publisher": "Publisher ABC", "developer": "Developer DEF", "releaseDate": "2015-01-01", "platforms": [ {"id":1,"name":"Xbox"}, {"id":2,"name":"Playstation"} ], "esrbRating": { "id": 1, "code": …
37 design  rest  api-design  json 

3
JSON Web Token - ทำไมส่วนของข้อมูลสาธารณะจึงเป็นเช่นนั้น?
ฉันไม่เข้าใจเหตุผลที่ทำให้การเรียกร้อง / น้ำหนักบรรทุกของ JWT เปิดเผยต่อสาธารณชนหลังจาก base64 ถอดรหัส ทำไม? ดูเหมือนว่ามันจะมีประโยชน์มากกว่าที่จะเข้ารหัสด้วยความลับ บางคนสามารถอธิบายได้ว่าทำไมหรือในสถานการณ์ใดการทำให้ข้อมูลนี้เป็นประโยชน์ต่อสาธารณะ

6
การใช้ฐานข้อมูลเชิงสัมพันธ์เทียบกับอ็อบเจ็กต์ JSON สำหรับข้อมูลเหตุการณ์ / กิจกรรม
ฉันกำลังทำงานในโครงการที่ฉันพยายามตัดสินใจระหว่างการใช้ฐานข้อมูลเชิงสัมพันธ์ SQL มาตรฐานหรือวัตถุ JSON เพื่อเก็บข้อมูลเกี่ยวกับเหตุการณ์หรือกิจกรรม โครงการจะจัดเก็บข้อมูลในประเภทเหตุการณ์หลายประเภทดังนั้นฉันได้ตัดสินใจที่จะอธิบายเพียงหนึ่งประเภทเหตุการณ์สำหรับคำถามนี้ เหตุการณ์ดนตรีสด (อธิบายแบบเต็มโดยใช้สคีมา JSON ที่ด้านล่างของคำถามนี้) เป็นวัตถุที่เก็บข้อมูลเช่นสถานที่ที่จะจัดกิจกรรมเวลา / วันที่ของเหตุการณ์และค่าใช้จ่ายของเหตุการณ์ วัตถุเหตุการณ์ดนตรีสดมีทั้งแบบหนึ่งต่อหนึ่ง (เหตุการณ์ -> ชื่อเหตุการณ์ -> คำอธิบาย) และแบบตัวต่อตัว (เหตุการณ์ -> สถานที่จัดงาน, กิจกรรม -> วันที่, กิจกรรม -> ประเภทตั๋ว ) ความสัมพันธ์ นอกจากนี้วัตถุเหตุการณ์สามารถมีหนึ่งรหัสนักแสดงหรือมากกว่าซึ่งลิงก์ไปยังวัตถุนักแสดง วัตถุนักแสดงจัดเก็บข้อมูลเกี่ยวกับนักดนตรีที่กำลังแสดงในการแสดงดนตรีสด ข้อมูลจะถูกสอบถามโดยผู้ใช้ที่ใช้ง่าย ("Find me events with 'x' name") และ complex ("Find me events ด้วยแนวเพลง 'x' และ 'y' ภายในรัศมี …
28 design  sql  json 

3
ตกลงเพื่อส่งคืน HTML จาก JSON API หรือไม่
ในโครงการปัจจุบันของฉันฉันรับผิดชอบการใช้งานบริการที่เกี่ยวข้องกับการใช้ RESTful APIs ที่สร้างขึ้นใหม่ซึ่งบันทึกไว้ว่ารองรับ JSON เท่านั้น ลูกค้าทำการร้องขออย่างต่อเนื่องโดยมีส่วนหัวการยอมรับของ 'application / json' และประเภทเนื้อหาของ 'application / json' อย่างไรก็ตามปลายทางบางจุดส่งการตอบกลับด้วย HTML ชนิดเนื้อหาหรือแม้แต่เนื้อหา HTML สำหรับฉันนี่เป็นแนวทางที่ผิดอย่างชัดเจนและไม่สามารถพิสูจน์ได้ ตลอดโครงการนี้มีการใช้วิธีปฏิบัติเดียวกันนี้กับผู้ขายที่ต่างกันสองรายและบริการที่แตกต่างกันสองรายการ ฉันพบว่าตัวเองต้องพิสูจน์เหตุผลที่บริการที่จำเป็นต้องมีการเปลี่ยนแปลง ผู้ขายระบุว่าลูกค้าควรรับมือกับสิ่งนี้และแม้แต่ห้องสมุด REST ที่ฉันเลือกก็ถูกตั้งคำถาม (RestEasy) เพราะไม่ได้จัดการกับสิ่งนี้ตามค่าเริ่มต้น 'นอกกรอบ' นี่เป็นจุดสำคัญของความยุ่งยาก ฉันไม่พบการอ้างอิงจำนวนมากเพื่อสำรองอาร์กิวเมนต์ของฉันฉันคิดว่านี่เป็นเพราะประเด็นนั้นเป็นที่สงสัยเนื่องจากมันชัดเจนมาก คำถามคือฉันหายไปบางอย่าง? ฉันเป็นคนหยาบคายเกี่ยวกับเรื่องนี้หรือไม่? ตกลงหรือไม่ที่จะมี JSON API ที่ไม่มีประเภทแอปพลิเคชัน / json ในสถานการณ์นี้ การอ้างอิงจะได้รับการชื่นชม คุณจะแก้ไขสถานการณ์นี้จากมุมมองทางการค้าได้อย่างไร

4
Odata ต้องการอะไรเมื่อฉันมี JSON
ฉันกำลังพยายามที่จะเข้าใจจุดของ Odata และเมื่อมันจะทำให้รู้สึก ตอนนี้ฉันทำงานอย่างไรฉันใช้ตัวควบคุม ASP.NET และ MVC / WebApi เพื่อทำให้เป็นอันดับ / ดีซีเรียลไลซ์ออบเจ็กต์ลงใน JSON และให้จาวาสคริปต์ทำอะไรบางอย่างกับมัน จากสิ่งที่ฉันสามารถบอกได้ว่าประโยชน์ของ OData นั้นสามารถสืบค้นได้โดยตรงจาก URL ... แต่เนื่องจากฉันเขียนรหัสลูกค้าและเซิร์ฟเวอร์ไม่จำเป็นต้องทำเช่นนั้น ใครบ้างที่เคยแยกผลลัพธ์ของแบบสอบถาม ODaya ใน javascript? บางที OData เป็นอีกเรื่องเกี่ยวกับการให้จุดสิ้นสุดทั่วไปสำหรับไคลเอนต์ทั้งหมดเพื่อรับข้อมูลรายละเอียดจากแบบสอบถามที่ JSON ไม่ได้ให้ ดังนั้นถ้าฉันเป็นผู้ให้บริการข้อมูลฉันคิดว่าเป็นสิ่งที่ Odata ใช้เพื่ออะไร ช่วยฉันเข้าใจวัตถุประสงค์และการใช้ REST / JSON / ODATA
23 javascript  rest  json 

4
โครงสร้าง JSON ใดที่จะใช้สำหรับคู่ค่าคีย์
รูปแบบ JSON ใดเป็นตัวเลือกที่ดีกว่าสำหรับคู่ของค่าคีย์และทำไม [{"key1": "value1"}, {"key2": "value2"}] หรือ: [{"Name": "key1", "Value": "value1"}, {"Name": "key2", "Value": "value2"}] หรือ: {"key1": "value1", "key2": "value2"} ตัวแปรแรกดูเหมือนกะทัดรัดและ "ความหมายเชิงความหมาย" มากขึ้น ตัวแปรที่สองนั้นมีโครงสร้างที่เท่าเทียมกันมากขึ้นซึ่งอาจช่วยในการประมวลผล ตัวแปรที่ 3 ดูเหมือนจะมีความหมายมากยิ่งขึ้น คู่ค่าคีย์จะถูกใช้เพื่อแนบข้อมูลโดยพลการกับรายการอื่น ๆ ข้อมูลจะต้องต่อเนื่องกันเป็น JSON เพื่อปัดเศษข้อมูลผ่านระบบ
23 json 

2
การล็อกอินใน JSON Effect ต่อประสิทธิภาพ
ฉันเห็นบทความเกี่ยวกับการเข้าสู่ระบบ JSON มากขึ้น คุณสามารถค้นหาได้จากบล็อกของ NodeJS ทำไมทุกคนชอบมันมาก ฉันเห็นการดำเนินการเพิ่มเติมที่เกี่ยวข้องเท่านั้น: วัตถุใหม่สองสามชิ้นที่ถูกสร้างขึ้น วัตถุ Stringifying ซึ่งเกี่ยวข้องกับการคำนวณความยาวสตริงหรือการจัดสรรสตริงหลายรายการ GCing อึทั้งหมดที่ถูกสร้างขึ้น มีการทดสอบประสิทธิภาพเมื่อใช้การบันทึก JSON และการบันทึกสตริงปกติหรือไม่ ผู้คนใช้ JSON (เพื่อเข้าสู่ระบบ) ในโครงการขององค์กรหรือไม่
22 logging  json 

1
ทำไมห้องสมุดของ Microsoft ขึ้นอยู่กับ Newtonsoft.Json
สิ่งนี้อาจเริ่มย้อนกลับไปเมื่อ Microsoft สร้างไลบรารี ASP.NET Web API อย่างน้อยนั่นก็คือเมื่อฉันจำได้ถ้าฉันไม่ผิด อย่างไรก็ตามตั้งแต่นั้นเป็นต้นมาแพ็กเกจ HTTP ของมันเริ่มต้นขึ้นอยู่กับไลบรารี Newtonsoft.Json สำหรับการทำให้เป็นอนุกรมของข้อมูล (de) เป็นไปตามและมาจาก JSON ทำไม บริษัท ขนาดใหญ่เท่ากับ Microsoft จะเพิ่มการพึ่งพาในไลบรารีโอเพ่นซอร์ส ฉันคิดว่ามันแปลกแม้ว่าพวกเขาจะไปเปิดแหล่งที่มาอย่างเต็มที่กับ. NET แล้วเพราะมันเป็นห้องสมุดที่ไม่ใช่ Microsoft เท่านั้นที่ใช้เป็นที่พึ่งพึ่งพาเท่าที่ฉันรู้ เป็นคำถามโบนัส James Newton-King ได้รับการสนับสนุนทางการเงินจาก Microsoft หรือไม่
18 .net  asp.net  json  web-api 

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

2
จะแสดงชุดใน JSON อย่างไร
JSON สนับสนุนโครงสร้างข้อมูลต่อไปนี้ (เทียบเท่า Java): Scalar, Array / List และ Map A Setไม่รองรับ out-of-the-box ใน JSON ฉันคิดหลายวิธีในการเป็นตัวแทนของชุดใน JSON: [1] - เป็นรายการ อย่างไรก็ตามรายการมีลำดับของตัวเองดังนั้นสองรายการต่อไปนี้["a", "b"]และ["b", "a"]ไม่เท่ากับรายการ แต่พวกเขาควรจะเท่ากับชุด [2] - เป็นแผนที่ ใช้ชุดคีย์ของแผนที่และละเว้นค่า แต่อีกครั้งโดยใช้การเปรียบเทียบแบบมาตรฐานทั้งสองแบบไม่เหมือนกับแผนที่: {"a": "foo", "b": "bar"}, {"a": null, "b": null} [3] - เป็นแผนที่ที่มีค่าพิเศษ ใช้สเกลาร์พูด0หรือnullบังคับให้มันเป็นค่าของทุกคีย์ในแผนที่: {"a": 0, "b": 0} ด้วยวิธีนี้ภายใต้เครื่องมือเปรียบเทียบมาตรฐานวัตถุจะเท่ากันแม้ว่าจะเปลี่ยนการเรียงลำดับคีย์ อย่างไรก็ตามเทคนิคนี้สร้างมลภาวะเอกสาร JSON ด้วยข้อมูลที่ไม่เกี่ยวข้อง [4] …

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