摘要:一直在用,發現并不了解。并且獨立于語言,可以在各語言間進行數據交換。字符是大小敏感的。注意是轉義字符,還支持其他轉義字符,見參考數字可以整數,浮點數,科學計數法表示。元素類型最好是同一類型,畢竟大多數語言不支持元素類型多種類型。
一直在用JSON,發現并不了解JSON。好吧,花點時間學習下。
一、JSON的概念:什么是JSON?全稱:JavaScript Object Natation(JS對象標記法),JSON用字符串的格式表示結構化數據。并且獨立于語言,可以在各語言間進行數據交換。
二、JSON的語法:JSON是如何通過字符串表示結構數據的? 2.1 JSON的類型(6種):JSON有6中數據類型示:object, array, number,string,bool(true, false),null(之前一直以為JSON數據必須要包在花括號里,囧)。絕大部分語言都有這6種數據類型,這樣JSON就可以跨語言傳遞了(即獨立于語言)。
// 以下都是合法的JSON "{"a": 1}" // 對象 "[1,2,3,4]" // 數組 "[1,true,null,{"a":1}]" // 數組 注意表示不能夸語言,有些語言限制數組的元素類型一致 "1" // number 1 "true" // bool true "null" // null ""abc"" // 字符串 "abc" // 以下是否非法的JOSN字符串 "undefined"2.2 String
JSON 字符串是Unicode編碼的,用雙引號表示字符串(有些語言中(如JS)單引號也能表示字符串,但是畢竟大部分語言不支持這種表示,所以JSON字符串只能是雙引號表示)。
字符是大小敏感的。
""a c"" // "a c" 注意 是轉義字符,JSON還支持其他轉義字符,見參考 ""abc"" // "abc"2.3 Number
JSON 數字可以整數,浮點數,科學計數法表示。
"1" // 1 "0.1" // 0.1 "-1" // -1 "1e+2" // 1* (10 * 10) -> 100 (e大小寫不區分,即也可以這樣表示"1E+2") "1e-2" // 1* (0.1 * 0.1) -> 0.01
注意:
A:正數不能帶”+“表示
B:只能表示10進制的數字,其他進制不能表示。
對象就是鍵值對集合了,值可以是6中類型的任意一種。
"{"a": 1, "b": true}" // 格式就是"{name1: value1, name2:value2}"2.5 數組
數組時值的集合,值可以是6中類型的任意一種。元素類型最好是同一類型,畢竟大多數語言不支持元素類型多種類型。
"[1,2]" "[{"a":1}]"三、日期的表示
大部分語言日期都是個對象,并且不是簡單的Plain Object,導致日期在各語言中JSON表示不完全一樣(JavaScript中JSON.stringify方法通過Date.toString方法把日期轉成字符串),所以在有日期的數據交換時要注意。一般處理方法:將日期轉成各語言都支持的日期字符串格式(如:"yyyy-MM-dd hh:mm:ss"),還可以將日期通過毫秒數值表示。
四、JSON SchemaJSON Schema是一種特殊的JSON數據,它是用來描述JSON數據的。
參考JSON.org
ajv
【第1276期】JSON Schema 那些事兒:基本概念
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/83787.html
摘要:什么是對象簡譜是一種輕量級的數據交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。 什么是Json? Json(JavaScript Object Notation,JS 對象簡譜)是一種輕量級的數據交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。一些合法的Json實例:鍵值對:(可以沒有鍵只有值)鍵 ...
摘要:在這里今天老蔣在針對商家新加坡機房進行測評。關于云服務器相關的文章優惠碼優惠碼整理專題每月更新最新優惠活動新用戶最高送美元韓國機房機房測評韓國首爾機房綜合速度和線路去程回程測試新人教程新人系列教程新注冊賬戶且用優惠碼享受贈送余額老蔣在昨天的文章中有提到Vultr商家韓國首爾機房,雖然離我們距離比較近,但是人家設立的機器并非針對我們大陸用戶的,而是除了我們之外的其他亞洲地區的速度是比較好的,比...
摘要:最近一段時間,經典主機新增日本大阪軟銀機房,國內的值相當不錯,特別適合聯通用戶訪問使用。日本經典主機電信線路日本經典主機電信線路這是經典的日本大阪軟銀機房電信回程線路。經典瓦工的VPS主機現在已經完全走了高端領域了,CN2 GIA的VPS主機現在連月付都沒有了,只有季付了,平均下來月付必須是十幾美元才可以,價格實在是太貴了。不過,好在經典VPS主機的線路質量不錯,而且機房的帶寬給得足,用于建...
閱讀 2986·2021-11-16 11:45
閱讀 5176·2021-09-22 10:57
閱讀 1773·2021-09-08 09:36
閱讀 1597·2021-09-02 15:40
閱讀 2514·2021-07-26 23:38
閱讀 1200·2019-08-30 15:55
閱讀 929·2019-08-30 15:54
閱讀 1217·2019-08-29 14:06