那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是JSON JSON的語法規則

jmiy_worldofai ? 來源:機器人及PLC自動化應用 ? 作者:微笑應對 ? 2021-08-25 15:40 ? 次閱讀

JSON數據交換格式

JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基于 ECMAScript (歐洲計算機協會制定的js規范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。

JSON是Douglas Crockford在2001年開始推廣使用的數據格式,在2005年-2006年正式成為主流的數據格式,雅虎和谷歌就在那時候開始廣泛地使用JSON格式。

JSON 語法規則

JSON是一個標記符的序列。這套標記符包含六個構造字符、字符串、數字和三個字面名。

JSON是一個序列化的對象或數組。

1. 六個構造字符:

begin-array = ws %x5B ws ; [ 左方括號

begin-object = ws %x7B ws ; { 左大括號

end-array = ws %x5D ws ; ] 右方括號

end-object = ws %x7D ws ; } 右大括號

name-separator = ws %x3A ws ; : 冒號

value-separator = ws %x2C ws ; , 逗號

2. 在這六個構造字符的前或后允許存在無意義的空白符(ws):

ws = *(%x20 /; 空間

%x09 /; 水平標簽

%x0A /; 換行或換行

%x0D); 回程

3.JSON的值:

3.1 JSON的構成: ws 值 ws [1]

3.2值可以是對象、數組、數字、字符串或者三個字面值(false、null、true)中的一個。值中的字面值中的英文必須使用小寫。

3.2.1對象由花括號括起來的逗號分割的成員構成,成員是字符串鍵和上文所述的值由逗號分割的鍵值對組成,如:

1 {“name”: “John Doe”, “age”: 18, “address”: {“country” : “china”, “zip-code”: “10000”}}

3.2.2數組是由方括號括起來的一組值構成,如:

1[3, 1, 4, 1, 5, 9, 2, 6]

3.2.3 字符串與C或者Java的字符串非常相似。字符串是由雙引號包圍的任意數量Unicode字符的集合,使用反斜線轉義。一個字符(character)即一個單獨的字符串(character string)。

3.2.4數字也與C或者Java的數值非常相似。除去未曾使用的八進制與十六進制格式。除去一些編碼細節。 [2]

一些合法的JSON的實例:

1{“a”: 1, “b”: [1, 2, 3]}

1[1, 2, “3”, {“a”: 4}]

13.14

1“plain_text”

JSON 與 JS 對象的關系

很多人搞不清楚 JSON 和 JS 對象的關系,甚至連誰是誰都不清楚。其實,可以這么理解:

JSON 是 JS 對象的字符串表示法,它使用文本表示一個 JS 對象的信息,本質是一個字符串。

1var obj = {a: ‘Hello’, b: ‘World’}; //這是一個對象,注意鍵名也是可以使用引號包裹的

1var json = ‘{“a”: “Hello”, “b”: “World”}’; //這是一個 JSON 字符串,本質是一個字符串

JSON 和 JS 對象互轉

要實現從JSON字符串轉換為JS對象,使用 JSON.parse() 方法:

1var obj = JSON.parse(‘{“a”: “Hello”, “b”: “World”}’); //結果是 {a: ‘Hello’, b: ‘World’}

要實現從JS對象轉換為JSON字符串,使用 JSON.stringify() 方法:

1var json = JSON.stringify({a: ‘Hello’, b: ‘World’}); //結果是 ‘{“a”: “Hello”, “b”: “World”}’

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7139

    瀏覽量

    89581
  • JS
    JS
    +關注

    關注

    0

    文章

    78

    瀏覽量

    18176
  • JSON
    +關注

    關注

    0

    文章

    119

    瀏覽量

    7011

原文標題:JSON數據交換格式

文章出處:【微信號:worldofai,微信公眾號:worldofai】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    配置Skywalking告警

    和Metrics .NET6 對接 Skywalking 添加依賴 編輯Skywalking配置文件skyapm.json 在launchSettings.json文件配置SK 在startup.cs文件中添加
    的頭像 發表于 01-16 10:58 ?130次閱讀
    配置Skywalking告警

    think-cell——使用JSON數據實現自動化(二)

    26.4 遠程提供模板 還可以通過遠程服務器提供帶有 think-cell 圖表的模板文件。在這種情況下,鍵的值是 URL 而不是本地路徑,如上面的遠程 JSON 示例所示。URL 可以指定為協議
    的頭像 發表于 01-03 10:12 ?114次閱讀
    think-cell——使用<b class='flag-5'>JSON</b>數據實現自動化(二)

    think-cell——使用JSON數據實現自動化(一)

    您可以使用 JSON 中的數據來復制最初作為模板創建的圖表,并為其提供新的數據表。您可以控制使用特定模板構建新演示文稿的順序。模板也可以多次使用。 PowerPoint 模板和 JSON 數據都可以
    的頭像 發表于 01-02 13:37 ?118次閱讀
    think-cell——使用<b class='flag-5'>JSON</b>數據實現自動化(一)

    實例篇 4G模組軟件之json數據處理!

    今天我會把4G模組軟件的json數據處理整理成文,以低功耗模組Air780E為例,一一展示出來:
    的頭像 發表于 11-12 12:17 ?250次閱讀

    遠程IO控制器ZLAN6808-3 使用JSON定時下發執行DO通斷

    的成本。遠程IO控制器在很多場景中作為代替PLC運行,但是遠程IO控制器有無法內部編程的缺點,而卓嵐6808-3/-5-8等支持JSON定時下發串口指令控制從而實現DO繼電器通斷,大大增加了產品實用性
    的頭像 發表于 10-28 09:38 ?295次閱讀
    遠程IO控制器ZLAN6808-3 使用<b class='flag-5'>JSON</b>定時下發執行DO通斷

    JSON協議是什么,物聯網中的RTU中如何使用JSON協議和服務器交互

    理想的數據交換語言。 JSON之所以受歡迎,主要是因為它仍然使用 JavaScript 語法來描述數據對象,并沒有改變開發人員的使用習慣,
    的頭像 發表于 09-25 16:14 ?1059次閱讀
    <b class='flag-5'>JSON</b>協議是什么,物聯網中的RTU中如何使用<b class='flag-5'>JSON</b>協議和服務器交互

    TestStand表達式中常用的語法規則和運算符使用

    TestStand也有自己的語言嘛?在回答這個問題之前大家可以想一下在使用TestStand時有一個和語言密切相關的屬性。沒錯那就是表達式(Expressions),在這篇文章中,小編將以Q&A的方式來帶著大家來理解并熟悉TestStand表達式中較為常用的一些語法規則以及運算符使用。
    的頭像 發表于 08-15 18:10 ?1791次閱讀
    TestStand表達式中常用的<b class='flag-5'>語法規則</b>和運算符使用

    可以使用JSON將prov-config參數從網頁發送到esp8266嗎?

    請求。所以另一個意識形態。為什么不在Protocomm之外制作另一個簡單的httpd/task來監聽GET請求呢?而且它不起作用 我該怎么辦,我該怎么辦?請。 其他問題。我可以使用 JSON 將 prov-config 參數從網頁發送到 esp8266 嗎?
    發表于 07-09 07:41

    鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型指導 配置文件差異

    FA模型應用在[config.json文件]中描述應用的基本信息,一個應用工程中可以創建多個Module,每個Module中都有一份config.json文件。config.json由app
    的頭像 發表于 06-27 09:50 ?537次閱讀
    鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型指導 配置文件差異

    http讀取百度返回的json數據時丟失數據怎么處理?

    我在使用百度ai開放平臺的語音識別功能,讀取返回的數據時,使用esp_http_client_read(client, http_data, 1024);讀到的數據里沒有json的數據,還是http
    發表于 06-24 07:00

    espidf組件是否有json組包或者messagePack的庫文件?

    espidf組件是否有json組包或者messagePack的庫文件
    發表于 06-21 07:10

    ?PLC設備通過智能網關采用HTTP協議JSON文件對接MES、ERP等系統平臺

    )配置JSON文件的字段與PLC寄存器地址等參數即可。 智能網關IGT-DSER支持POST/GET/PUT等多種方法,可同時作為HTTP協議的客戶端和服務端。作為客戶端通訊時將JSON文件提交
    發表于 05-13 12:04

    鴻蒙OpenHarmony開發板解析:【 部件配置規則

    部件的bundle.json放在部件源碼的根目錄下。以泛sensor子系統的sensor服務部件為例,
    的頭像 發表于 05-09 15:15 ?976次閱讀
    鴻蒙OpenHarmony開發板解析:【 部件配置<b class='flag-5'>規則</b>】

    鴻蒙OpenHarmony開發板:【子系統配置規則

    通過build倉下的subsystem_config.json可以查看所有子系統的配置規則
    的頭像 發表于 05-08 22:07 ?319次閱讀
    鴻蒙OpenHarmony開發板:【子系統配置<b class='flag-5'>規則</b>】

    PLC采用HTTP協議JSON文件對接MES等服務系統平臺

    智能網關IGT-DSER集成了多種PLC的原廠協議,方便實現各種PLC、智能儀表通過HTTP協議與MES等各種系統平臺通訊對接。PLC內不用編寫程序,通過網關的參數配置軟件(在附件中)綁定JSON
    發表于 03-25 14:25
    威尼斯人娱乐城澳门威| 大发888唯一官网| 百家乐官网牌具公司| 曲阳县| 太阳城俱乐部| 百家乐官网网上真钱娱乐场开户注册| 百家乐官网技巧娱乐博彩| 网上百家乐真的假的| 职业百家乐官网的玩法技巧和规则 | 属虎属鼠合伙做生意吗| 河津市| 津南区| 百家乐官网看单技术| 大发888游戏平台 df888ylc3403| E世博百家乐的玩法技巧和规则| 申博百家乐下载| 网上百家乐有哪些玩法| 百家乐假在哪里| 百家乐试玩平台| 新利百家乐官网的玩法技巧和规则 | 超级百家乐官网2龙虎斗| 百家乐官网技巧-百家乐官网开户指定代理网址 | 百家乐官网娱乐城网站| 百家乐官网预测神法| 介休市| 大世界百家乐官网现金网| 百家乐官网投注程式| 澳博线上娱乐| 百家乐视频下载| 百家乐真人视屏游戏| 百家乐官网技巧-百家乐官网开户指定代理网址 | 百家乐官网翻天youtube | 网上百家乐官网辅助软件| 白金国际| 辽阳市| 百家乐官网巴厘岛上海在线| 网上百家乐官网必赢玩| 百家乐官网套利| 玩百家乐官网请高手指点| 中华百家乐官网的玩法技巧和规则 | 界首市|