」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 有效 JSON 有哪些不同的定義?

有效 JSON 有哪些不同的定義?

發佈於2024-11-08
瀏覽:684

What are the Different Definitions of Valid JSON?

理解最小有效 JSON

JSON 的概念已在各種 RFC 和規範中廣泛討論。 RFC4627 最初將 JSON 定義為序列化物件或陣列。根據此定義,僅 {}(空物件)[](空數組) 符合有效、完整的 JSON 字串的條件。

但是,ECMA-404引入了一項修正案,擴大了有效 JSON 字串的範圍。在此更新中,stringnumbertruefalsenull{} (空物件)[](空數組) 都被視為有效的JSON strings.

在網頁瀏覽器領域,JSON 在ES5 中被標準化。 ES5 定義有效的 JSON 文字與 RFC 4627 相同,但有兩個例外。首先,頂級 JSONText 產生可以由任何 JSONValue(包括字串、數字、布林值和 null)組成,而不是僅限於物件或陣列。這意味著網頁瀏覽器接受所有 JSON 值,即使底層 JSON 物件可能遵守 RFC 4627。

需要注意的是,不同的解析器可能具有不同層級的支援完整範圍的有效 JSON 字串。例如,Ruby 只接受物件和陣列作為根,而 PHP 在其編碼和解碼功能中明確包含標量類型和 NULL。

最新教學 更多>
  • 如何透過 PDO 傳遞數組參數並使用 LIMIT 子句
    如何透過 PDO 傳遞數組參數並使用 LIMIT 子句
    傳遞陣列參數並在PDO 中使用LIMIT 子句處理資料庫查詢時,將參數陣列傳遞給使用LIMIT 子句時的PDO 語句。然而,當使用 bindParam 方法設定各個參數時,這可能具有挑戰性。 困境出現挑戰是因為 LIMIT 子句需要綁定特定的數值,而執行方法需要一個命名參數陣列。這種不相容性導致兩種...
    程式設計 發佈於2024-11-08
  • 使用 CSS 技巧立即提高行動可用性
    使用 CSS 技巧立即提高行動可用性
    想要防止使用者意外放大您的網站?使用這個簡單的元標記在行動裝置上停用雙擊縮放: 這讓您的行動網站感覺更像是本機應用程式。你在你的專案中嘗試過這個嗎?
    程式設計 發佈於2024-11-08
  • Chrome擴充功能開發:如何開啟頁面右側和頂部的popup.html
    Chrome擴充功能開發:如何開啟頁面右側和頂部的popup.html
    預設在擴充功能圖示下方開啟彈出窗口,我們可以透過建立新視窗來更改位置 chrome.action.onClicked.addListener(async (tab) => { openPopup(tab) }); const openPopup = async (tab) => ...
    程式設計 發佈於2024-11-08
  • 如何在 Bootstrap 中輕鬆水平居中影像?
    如何在 Bootstrap 中輕鬆水平居中影像?
    Bootstrap 圖像居中綜合指南在網頁上水平居中圖像對於實現平衡和視覺吸引力通常至關重要設計。當使用流行的 Bootstrap 框架時,您可能很難找到最有效的方法來實現這種對齊。在本文中,我們將探索使用 Bootstrap 將影像死點置中的簡單解決方案。 .center-block 類別Twit...
    程式設計 發佈於2024-11-08
  • 掌握 Golang:基本程式教學合集
    掌握 Golang:基本程式教學合集
    透過這套全面的程式設計教學深入探索 Golang 的世界!無論您是經驗豐富的開發人員還是剛開始 Golang 之旅,這些精心策劃的課程都將為您提供成為熟練 Gopher 所需的基本技能和知識。 ? Golang HTTP 請求處理 探索 Golang 中 net/http 套件的強...
    程式設計 發佈於2024-11-08
  • 在 C++ 中可以將 void 指標轉換為函式指標嗎?
    在 C++ 中可以將 void 指標轉換為函式指標嗎?
    在C 中將空指標轉換為函數指標將dlsym() 等函數傳回的空指標轉換為函數指標在C中並不簡單。預設情況下,C 98/03 中禁止此類直接轉換。 限制原因在 C 98/03 中,void* 指針用於引用對象,不是函數或成員指針。 C 中的有條件支援0x在 C 0x 中,實作可以選擇支援將 void*...
    程式設計 發佈於2024-11-08
  • 如何在 C++ 中使用enable_if 實作條件成員函式重載?
    如何在 C++ 中使用enable_if 實作條件成員函式重載?
    選擇具有不同enable_if條件的成員函數在C語言中,enable_if是一個工具,用於根據是否有條件啟用或停用某些程式碼模板參數滿足特定條件。當您想要根據模板參數自訂類別或函數的行為時,這可能很有用。 在給定的範例中,目標是建立一個成員函數 MyFunction,該函數根據範本是否參數T是否為整...
    程式設計 發佈於2024-11-08
  • 如何修正 phpMyAdmin 中的「使用者\'Root\'@\'localhost\'\」存取被拒絕的錯誤?
    如何修正 phpMyAdmin 中的「使用者\'Root\'@\'localhost\'\」存取被拒絕的錯誤?
    如何解決phpMyAdmin 中的「存取被拒絕」錯誤如果遇到「存取被拒絕」存取phpMyAdmin 時出現「for user 'root'@'localhost' (using password: NO)」錯誤,通常表示'root' 使用者的密碼設定或...
    程式設計 發佈於2024-11-08
  • Miva 的日子:第 15 天
    Miva 的日子:第 15 天
    這是 100 天 Miva 編碼挑戰中的第 15 天,雖然時間過得很快,但它幫助我大大提高了我的 HTML、CSS 和 JavaScript 技能。 今天,我學習了JavaScript中的兩個概念。顯示物件屬性和 JavaScript 事件。它們對於添加資料以及保持網頁的響應性和互動性非常重要。 ...
    程式設計 發佈於2024-11-08
  • 將 JavaScript 轉換為 TypeScript 的多年經驗:我的關懷意見
    將 JavaScript 轉換為 TypeScript 的多年經驗:我的關懷意見
    I started my JS career in 2015, spent a year working exclusively with it, and then transitioned to TypeScript. I’d love to say 'And never looked back ...
    程式設計 發佈於2024-11-08
  • x86 彙編中的「鎖定」指令是否無限期地保留匯流排?
    x86 彙編中的「鎖定」指令是否無限期地保留匯流排?
    理解x86彙編中的“Lock”指令x86彙編中的“lock”指令是一個前綴,它強制後續指令對總線的獨佔所有權。這可確保 CPU 在該指令的持續時間內完全控制高速緩存行。 停用總線鎖定與通常的理解相反,「lock」前綴不會導致 CPU 鎖定無限期的公車。執行後續指令後,鎖會被釋放。這允許 CPU 僅在...
    程式設計 發佈於2024-11-08
  • Top itemmap Scraper 你該知道的 4
    Top itemmap Scraper 你該知道的 4
    有時需要組織並包含在新網站設計中的資訊量可能會令人難以承受,從而使任務變得更加困難。網站地圖是一個有用的規劃工具,可以幫助組織和簡化網站上需要的材料並刪除任何不需要的頁面。此外,精心設計的網站地圖可為訪客提供正面的體驗,從而提高轉換率。 多年來,最好的網頁設計方法一直包括網站地圖;因此,它們並不是...
    程式設計 發佈於2024-11-08
  • 如何在 Web 瀏覽器中追蹤 XMLHttpRequest 的進度更新?
    如何在 Web 瀏覽器中追蹤 XMLHttpRequest 的進度更新?
    取得 XMLHttpRequest 的進度更新Web 瀏覽器為用戶端伺服器資料交換提供 XMLHttpRequest (XHR) 物件。雖然標準 XHR API 缺乏固有的進度追蹤功能,但有一些方法可以監控資料傳輸的進度。 上傳位元組數:XHR 公開 xhr.upload。 onprogress 事...
    程式設計 發佈於2024-11-08
  • 如何在 JavaScript 中向回呼函數傳遞參數?
    如何在 JavaScript 中向回呼函數傳遞參數?
    在JavaScript 中向回調函數傳遞參數在JavaScript 中,回呼函數通常用於在某個事件發生後執行特定任務。在定義這些函數時,通常需要向它們傳遞相關資料或參數。 傳遞參數的簡單方法是在呼叫回呼函數時將它們明確地設定為實參。例如:function tryMe(param1, param2) ...
    程式設計 發佈於2024-11-08
  • 與 Jira 和 LLM 的互動專案報告
    與 Jira 和 LLM 的互動專案報告
    For all projects I worked on, I used some sort of project management system where project scope was defined as a list of tasks (tickets), and progress...
    程式設計 發佈於2024-11-08

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3