是 JSON 嗎?

JSON是Java Script Object Notation 的縮寫…… 

隨著Internet和計算機系統(tǒng)的一般聯(lián)網(wǎng),數(shù)據(jù)交換的需求從那時起就增加了。_ _ 平臺獨立性與網(wǎng)絡上的系統(tǒng)特別相關。使用JSON(Java Script Object Notation),一種非常易于使用、人類和機器可讀的數(shù)據(jù)格式建立用于基于網(wǎng)絡的系統(tǒng)之間的數(shù)據(jù)交換。在這里,您將找到實際使用所需的一切,并簡單解釋有關JSON的最常見問題。在我們的實際示例和工業(yè)解釋中發(fā)現(xiàn)您需要了解的有關使用JSON 的所有信息。  

1.什么是JSON?

JSON是一種獨立的數(shù)據(jù)格式,不受 JavaScript 語言的約束。同時,JSON以其簡單的結構和Unicode字符集編碼成為系統(tǒng)間交換數(shù)據(jù)的理想格式。它總是作為一個整體在應用程序之間進行交換。如果文檔在文件系統(tǒng)中作為文件可用,那么人工處理 JSON 文檔是最簡單的。這里通常使用文件擴展名“*.JSON”。JSON 文檔的內容在結構上基本上是面向對象的(請參閱基本結構)。 

2. JSON 是如何工作的?

格式化 JSON 文檔中的內容必須遵循嚴格的結構規(guī)范。原始規(guī)范由 Douglas Crockford 制定,并記錄為JSON 定義。JSON 文檔始終以“{”和“}”開頭和結尾。內容必須位于花括號之間。大括號括起一個對象。在文檔本身中,可以再次定義更多對象。數(shù)據(jù)字段以名稱開頭,后跟冒號后的值。然后該值可以再次成為對象。 

存儲在 JSON 中的變量可以是以下類型: 

布爾值:真值可以是 true 或 false。使用的關鍵字不帶引號(例如,“active”:true)。 

數(shù)字:數(shù)字用數(shù)字 0-9 表示,可選擇用點和符號表示。也可以使用指數(shù)(例如,“距離”:3.1e+12)。 

字符串:字符串是放在引號之間的任何文本(例如,“city”:“Hamburg”)。 

零:空變量由零賦值表示。不應將其與數(shù)字 0 或空字符串混淆。零表示“無”(例如,“鏈接”:零)。 

格式化 JSON 文檔中的內容必須遵循嚴格的結構規(guī)范。原始規(guī)范由 Douglas Crockford 制定,并記錄為JSON 定義。JSON 文檔始終以“{”和“}”開頭和結尾。內容必須位于花括號之間。大括號括起一個對象。在文檔本身中,可以再次定義更多對象。數(shù)據(jù)字段以名稱開頭,后跟冒號后的值。然后該值可以再次成為對象。 

結構 

{ 

“數(shù)據(jù)字段 1”:“值” 

“數(shù)據(jù)對象?!?/font> 

{ 

“字段 1”:123 

“字段 2”:“文本” 

“Field3Array”:[“Value1”,“Value2”,“Value3”,“Value4”]} 

} 

3 JSON有什么優(yōu)點

JSON 對用戶來說學習起來很快,并且可以快速集成到現(xiàn)有系統(tǒng)中。 實現(xiàn)簡單、訓練周期短是JSON的主要優(yōu)勢。 此外,JSON 已經(jīng)可以被許多常見的編程語言讀取。 有一個所謂的解析器,它可以翻譯 JSON 文件并使其可供應用程序使用。 所有這些都使 JSON 成為用戶流行的數(shù)據(jù)格式。 

在您的項目中也使用 JSON 的優(yōu)勢! 

OPC Router使通過拖放連接 JSON 變得簡單——立即測試功能齊全的免費演示。 

免費使用 JSON 測試 OPC Router

4.JSON和Java有什么關系?  

JSON 的定義源自 ECMA-262 標準的 JavaScript 語言定義的一個子集。然而,JSON 有此淵源,以及“Java Script Object Notation”這個名稱并不意味著 JSON 僅限于在 JavaScript 中使用。JSON 是完全獨立的,不與 JavaScript 語言綁定。JavaScript 中有許多用于處理 JSON 的內置函數(shù),這使得在 JavaScript 中使用 JSON 變得特別容易。然而,在許多其他語言中,也可以使用相應的框架。當有疑問時,可以使用任何編程語言讀取和處理 JSON 的簡單文本格式。 

5.有哪些應用領域和實際好處? 

由于其簡化的結構和在Unicode 字符集中的編碼,JSON 是系統(tǒng)間交換數(shù)據(jù)的理想格式。而且無需考慮操作系統(tǒng)、計算機體系結構或編程語言。 

數(shù)據(jù)以 JSON 格式存儲,并通過任何通道(http、文件、TCP/IP、數(shù)據(jù)庫等)作為數(shù)據(jù)包傳輸?shù)侥繕讼到y(tǒng)。由于結構和集成的描述元素,目標系統(tǒng)再次評估數(shù)據(jù)非常簡單。由于數(shù)據(jù)將作為封閉的數(shù)據(jù)包/文檔進行交換,因此非常適合異步過程。JSON 最常用于 Web 環(huán)境,但在各種應用程序領域中的地位也越來越高。 

6. JSON在業(yè)界是如何運作的?  

JSON 格式在工業(yè)環(huán)境中變得越來越普遍。 一個重要因素是機器和現(xiàn)場級設備與基于網(wǎng)絡的技術的集成越來越緊密。 由于具有REST 接口什么是 REST?)的現(xiàn)場設備和軟件系統(tǒng)以及通過 MQTT 集成傳感器和設備,JSON 已經(jīng)被廣泛使用。 NoSQL 的當前使用以及機器學習和人工智能的增長趨勢使得 JSON 作為一種簡單但靈活的數(shù)據(jù)格式不可或缺。 

7.設備和服務 

通過 REST 接口提供信息的服務經(jīng)常以 JSON 格式返回它們的數(shù)據(jù)。一個例子是天氣服務 OpenWeatherMap。例如,此調用以 JSON 格式返回倫敦的當前天氣:https ://openweathermap.org/ 

有關詳細示例,請訪問我們關于連接 OpenWeatherMap 的操作方法文章。 

JSON 設備通常是通過 MQTT 發(fā)送數(shù)據(jù)的數(shù)據(jù)源,是物聯(lián)網(wǎng)的一部分。 

8. JSON 和 XML

XML(Ex tensible M arkup Language 是一種描述語言。數(shù)據(jù)的描述在本質上類似于 JSON。XML 中帶有標簽的描述導致更高的工作量。數(shù)據(jù)不僅可以用Tags來描述,還可以用Attributes (例如:TEXT)來描述。因此,當交換數(shù)據(jù)時,發(fā)送方接收方必須具有關于約定結構的非常明確的信息。 

相比之下,JSON 中的結構是靈活的,并且在任何情況下都可以被接收方完全理解,并且可以轉換為對象,而無需任何事先的結構約定。 

因此,XML 適用于明確定義的數(shù)據(jù)接口,而 JSON 適用于靈活的數(shù)據(jù)交換。 

讓您的系統(tǒng)通過 JSON 相互通信!

立即在全面且免費的演示中測試 OPC Router。

免費使用 JSON 測試 OPC Router

9. JSON 和 MQTT

MQTT 協(xié)議是一種用于數(shù)據(jù)交換的簡單輕量級傳輸協(xié)議。它經(jīng)常被必須處理有限帶寬和計算能力的設備和服務使用。MQTT的數(shù)據(jù)格式?jīng)]有規(guī)定。但是,數(shù)據(jù)負載經(jīng)常被格式化為 JSON 文檔,因為它非常適合此用例。由于這個原因,有許多 MQTT 連接伙伴以 JSON 的形式發(fā)布他們的數(shù)據(jù)。 

10. JSON 和 NoSQL

使用 NoSQL 概念的基于文檔的數(shù)據(jù)庫是 JSON 的一個眾所周知的用例。這些數(shù)據(jù)庫接受 JSON 文檔進行存儲并返回它們以供查詢。由于 JSON 的靈活結構,可以將任何 JSON 文檔傳遞到面向文檔的 NoSQL 數(shù)據(jù)庫中。這些數(shù)據(jù)庫中的查詢可以訪問文檔中的所有字段和對象,而無需事先定義模式,因此返回符合查詢條件的文檔。不需要像傳統(tǒng) SQL 那樣的模式定義。此類數(shù)據(jù)庫的一個示例是MongoDB數(shù)據(jù)庫。OPC Router具有一個插件,可將數(shù)據(jù)發(fā)送到MongoDB 數(shù)據(jù)庫。   

11.JSON示例

在具有多個組件的生產(chǎn)訂單中解釋了一個稍微復雜的示例。生產(chǎn)訂單由一些基本字段和包含組件的數(shù)組描述。每個組件都被描述為一個單獨的對象,具有自己的描述字段。 

{
"Order number": 4711,
"Quantity": 15000.0,
"Item": "Product A",
"Planned date": "6/4/2020",
"Release": true,
"Components":[
{
"Name": "Component A",
"Material number": 292345,
"Quantity": 345,123,
"Storage areas": [ 3, 6, 23 ] }, {
"Name": "Component B",
"Material number": 908431,
"Quantity": 12034,123,
"Storage areas": [ 1, 2, 9 ] },
{
"Name": "Component C",
"Material number": 928398,
"Quantity": 2623.2,
"Storage locations": [ 10 ] },
] }

簡單的JSON通信實踐

JSON 是一種受 JavaScript 影響但獨立的互聯(lián)網(wǎng)數(shù)據(jù)傳輸標準。由于其實現(xiàn)簡單且易于與其他編程語言接口,JSON 是業(yè)界流行的數(shù)據(jù)格式。 

在實踐中,JSON經(jīng)常用于系統(tǒng)中參數(shù)的輸入或輸出。JSON 創(chuàng)建一個數(shù)據(jù)包,其中也可以包含復雜和相關的數(shù)據(jù),并使其作為文檔供其他系統(tǒng)使用。例如,在工業(yè)中,可以通過這種方式快速轉發(fā)生產(chǎn)訂單以優(yōu)化流程。這種數(shù)據(jù)包可以使用OPC Router等軟件從SAP、MQTTOPC UASQL等系統(tǒng)生成,然后通過圖形界面轉換成JSON結構。JSON 在生產(chǎn)中活躍網(wǎng)絡并確保有效的工業(yè) 4.0數(shù)據(jù)交換。

更多信息

OPC UA 插件

了解JSON 插件如何從不同來源提取數(shù)據(jù)、轉換數(shù)據(jù)并使其可用于您的系統(tǒng)。

STIHL 通過 OPC Router提高整體自動化效率

了解發(fā)動機和園林工具制造商STIHL使用 inray 的 OPC Router如何提高整體自動化效率。ERP 系統(tǒng) SAP 及其數(shù)據(jù)庫以及裝配線的 SQL 服務器的集成可實現(xiàn)高效的生產(chǎn)文檔記錄和可追溯性,以及自動過程控制。

什么是工業(yè) 4.0

了解更多關于工業(yè) 4.0的信息!通過數(shù)字化實現(xiàn)的第四次工業(yè)革命:人、機器和產(chǎn)品直接相互聯(lián)網(wǎng)。在我們的文章中閱讀更多內容!

您可以在我們的知識庫中找到更多關于工業(yè) 4.0、云、技術、警報和實際應用示例以及案例研究等主題的有趣文章。

讓您的系統(tǒng)通過 JSON 相互通信!

OPC Router 是一種軟件,可讓您通過 JSON 輕松直觀地連接您的系統(tǒng)。
立即在免費的完整演示中測試 OPC Router。

JSON 插件詳情
測試 JSON 插件
訂閱時事通訊