欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JSON 必知必會 觀后記

 更新時間:2016年10月27日 21:31:19   作者:天幽  
這篇文章主要介紹了個人看了JSON 必知必會一書的讀后感,此書從各個方面介紹了json的一些注意事項與優(yōu)缺點(diǎn)。

推薦大家購買紙質(zhì)書籍,當(dāng)然如果條件有限可以臨時下載電子版的:http://www.dbjr.com.cn/books/504703.html

術(shù)語
可移植性
平臺和系統(tǒng)間傳輸信息的兼容性。
 
JSON
JavaScriptObjectNotation  對象表示法。
 
數(shù)據(jù)交換格式
用于不同平臺或系統(tǒng)間交換數(shù)據(jù)的文本。
 
字面量
字面意思與其想表達(dá)的意思完全一致的值。
 
變量
通過形如X的標(biāo)識符來表示的,可以修改的一類值。
 
最大移植性
通過保證數(shù)據(jù)本身對于平臺和系統(tǒng)的兼容性來提供超越數(shù)據(jù)格式本身的可移植性。
 
名稱-值對
指擁有名稱和對應(yīng)值的屬性和特征(也叫鍵值對)。
 
語法驗證
json格式的驗證。
 
一致性驗證
關(guān)注獨(dú)特的數(shù)據(jù)結(jié)構(gòu)驗證。
 
JSON中的字符串類型
一個字符串值,如“你是個好人”,使用雙引號包裹。
 
概念

JSON是一種數(shù)據(jù)交換格式。
 
JSON獨(dú)立于編程語言。
 
JSON基于JavaScript對象的字面量表示法(重點(diǎn)在于表示法)。
 
JSON表達(dá)數(shù)據(jù)的方式對通用的編程概念都很友好。
 
JSON基于JavaScript對象字面量表示屬性的語法,但并不包含與JavaScript對象字面量的函數(shù)相關(guān)部分。
 
JSON的名稱-值對中,名稱始終被雙引號包裹。
 
JSON的名稱-值對中,值可以是字符串,數(shù)字,布爾值,null,對象式數(shù)組。
 
JSON中的名稱-值對列表始終被花括號包裹。
 
JSON中多個名稱值對使用逗號分隔。
 
JSON文件使用.json擴(kuò)展名。
 
JSON的媒體類型是application/json。
 
JSON中的布爾類型的值只有true和false,所有字母必須小寫。
 
JSON中的null值的所有字母必須小寫,表示空值。
 
JSON中的數(shù)字類型,一個數(shù)字值,如66,可以是正整數(shù),負(fù)整數(shù),小數(shù),指數(shù)。
 
對象和數(shù)組很關(guān)鍵的區(qū)別就是,對象是名稱-值對構(gòu)成的列表或集合,數(shù)組是值構(gòu)成的列表和集合。
 
對象和數(shù)組另一個關(guān)鍵區(qū)別是,數(shù)組中所有值應(yīng)具有相同的數(shù)據(jù)類型。
 
術(shù)語
JSON中的數(shù)組
數(shù)組是值的集合或列表,每個值都可以是字符串,數(shù)字,布爾值,對象或數(shù)組中的任何一種。數(shù)組必須被[]包裹,且值與值之間用逗號分隔。
 
JSON中的對象類型
對象類型是使用逗號分隔的名稱-值對構(gòu)成的集合,并使用{}包裹。
 
JSON Schema
數(shù)據(jù)交換中的一種虛擬合同。
 
服務(wù)端(web開發(fā)中的)

當(dāng)網(wǎng)頁式資源被請求時,在服務(wù)器上執(zhí)行的一系列操作。服務(wù)器為互聯(lián)網(wǎng)瀏覽器提供其處理和加載的響應(yīng)。
 
客戶端(web開發(fā)中的)
當(dāng)瀏覽器請求的界面加載完畢時執(zhí)行的一系列操作,通常是指HTML,CSS和JavaScript。
 
概念
JSON驗證器負(fù)責(zé)驗證語法錯誤,JSON Schema負(fù)責(zé)提供一致性驗證。
 
JSONSchema是負(fù)責(zé)數(shù)據(jù)接收第一道防線,也是數(shù)據(jù)發(fā)送方節(jié)約時間,保證數(shù)據(jù)正確的好工具。
 
JSONSchema可以解決下列一致性驗證的問題
  1.值的數(shù)據(jù)類型是否正確?  可以具體規(guī)定一個值是數(shù)字、字符串等類型。
  2.是否包含所需要的數(shù)據(jù)?  可以具體規(guī)定哪些數(shù)據(jù)是需要的,哪些不需要的。
  3.值的形式是不是我需要的?  可以指定范圍,最小值最大值。
 
JSON本身不構(gòu)成什么威脅,它只是文本。
 
在定位JSON安全問題時,應(yīng)該記住以下3件事.

  1.不要使用頂級數(shù)組,頂級數(shù)組是合法的JavaScript腳本,他們可以用<script>標(biāo)簽鏈接并使用。
  2.對于不想公開的資源,僅允許使用HTTPPost方法請求,而不是Get方法,get方法可以通過url請求,甚至放在script標(biāo)簽中。
  3.使用JSON.parser()來替代eval(),eval()函數(shù)會將傳入的字符串編譯并執(zhí)行,這會讓你的代碼易被攻擊,應(yīng)僅使用JSON.parser()來解析json數(shù)據(jù)。
 
安全漏洞通常由于開發(fā)人員沒有考慮“黑客如何利用這一點(diǎn)”這一問題所導(dǎo)致的。
 
JavaScript的XMLHTTPRequest與WEBAPI之間的關(guān)系是客戶端與服務(wù)端之間的關(guān)系。
 
XMLHTTPRequest并不僅限于XML,還可以用它來請求JSON資源
 
術(shù)語
跨站請求偽造(CSRF)
指利用站點(diǎn)對用戶瀏覽器的信任進(jìn)行攻擊
 
頂層JSON數(shù)組
存在于JSON名稱-值對之外的位于文檔最頂層的JSON數(shù)組。
 
注入攻擊
依賴于將數(shù)據(jù)注入到web應(yīng)用程序以方便惡意數(shù)據(jù)執(zhí)行或編譯的攻擊。
 
JSON跨站腳本攻擊
通過截取或?qū)⒄军c(diǎn)中所使用的第三方代碼更換為惡意腳本,來對站點(diǎn)進(jìn)行的一種注入攻擊。
 
webApi
通過Http與服務(wù)進(jìn)行交互的一系列指令與標(biāo)準(zhǔn)。
 
XMLHTTPRequest
一種JavaScript對象,無需刷新頁面即可從一個URL獲取數(shù)據(jù),常用與AJAX編程。
 
超文本傳輸協(xié)議(HTTP)
萬維網(wǎng)使用的交換數(shù)據(jù)的基本協(xié)議
 
序列化
將對象轉(zhuǎn)化為文本的操作
 
反序列化
將文本轉(zhuǎn)化為對象的操作。
 
概念
網(wǎng)站為人服務(wù),webAPI為代碼服務(wù),他們都使用Http協(xié)議。
 
同源策略使得JavaScript和JSON資源進(jìn)行客戶端-服務(wù)端交流時出現(xiàn)了一些困難。
 
客戶端跨域的XMLHTTPRequest需要服務(wù)端的支持來保證JSON資源請求成功。
 
jQuery是一款提供了JSON請求和解析功能的能夠縮短開發(fā)時間的抽象化工具,同時它還解決了跨瀏覽器兼容問題。
 
AngularJS MVC的概念
  JSON是模型||數(shù)據(jù)模型
  HTML是視圖,且提供了與模型進(jìn)行綁定的語法
  控制器是AngularJS語法來定義和操作與模型和視圖間的交互的JavaScript文件。
 
AngularJS使得JavaScript對象和JSON在MVC架構(gòu)中大放異彩。
 
在關(guān)系型數(shù)據(jù)庫中,常常會存在表列行以及他們之間的關(guān)系,其中會用到主鍵和外鍵。
 
NoSQL數(shù)據(jù)庫有許多種,它們有與傳統(tǒng)的關(guān)系型模型不同的數(shù)據(jù)存儲與利用方法。
 
CouchDB數(shù)據(jù)庫重要概念
  1.它是一種面向文檔的NoSQL數(shù)據(jù)庫
  2.它存儲和管理JSON文檔
  3.它會在存儲和獲取數(shù)據(jù)的同時維護(hù)好數(shù)據(jù)結(jié)構(gòu)
  4.它會使用基于HTTP的API來獲取作為JSON文檔資源的數(shù)據(jù)
  5.它使用JavaScript作為查詢語言,且通過視圖的map和reduce方法來跨API獲取數(shù)據(jù)。
 
在服務(wù)端,可以將JSON反序列化為對象而運(yùn)用在編程邏輯中,也可以將對象序列化成JSON格式。
 
JSON同時被服務(wù)端和客戶端較好的支持,使得它在web領(lǐng)域從諸多交換數(shù)據(jù)格式中脫穎而出。
 
術(shù)語
同源策略
出于安全考慮,瀏覽器僅會請求同一域的腳本。
 
跨域資源共享CORS
通過設(shè)置響應(yīng)頭,使得跨于請求可以成功。
 
JSON-p
使用script標(biāo)簽,繞過同源策略限制,從不同域名的服務(wù)器請求JSON。
 
抽象化
一種處理復(fù)雜系統(tǒng)的技術(shù),主要思想是將一個大問題轉(zhuǎn)換為多個小問題
 
框架
一種能夠節(jié)約時間,已讓我們更專注于構(gòu)建功能的抽象化工具。
 
Jquery.parserJSON()
一個jquery的函數(shù),它不僅調(diào)用JSON.parser()函數(shù),還會兼容那些不支持JSON.parser()函數(shù)的老式瀏覽器,且通過驗證字符來評估字符串,從而避免了可能的安全問題。
 
jquery.getJSON()
jquery.ajax()函數(shù)的簡寫形式,其中包含了將json解析為JavaScript對象的功能。
 
單頁web應(yīng)用
與傳統(tǒng)的多頁方式不同,著力于提供更加無縫的應(yīng)用體驗的網(wǎng)頁。
 
模型-視圖-控制器(MVC)
一種應(yīng)用架構(gòu)模式,它將應(yīng)用分為3部分:模型(數(shù)據(jù))、視圖(展示)、以及控制器(更新模型和視圖)
 
AngularJS
一款使用JavaScript對象作為數(shù)據(jù)模型的JavaScriptMVC框架。
 
關(guān)系型數(shù)據(jù)庫
一種將存儲的數(shù)據(jù)用可以辨識的關(guān)系進(jìn)行結(jié)構(gòu)化存儲的數(shù)據(jù)庫。
 
NoSQL數(shù)據(jù)庫
一種不通過存儲數(shù)據(jù)間關(guān)系來存儲的數(shù)據(jù)庫。
 
CouchDB
一種面向文檔的NoSQL數(shù)據(jù)庫存儲類型,使用JSON文檔的形式來存儲數(shù)據(jù)。
 
ASP.NET
微軟開發(fā)的服務(wù)端Web框架
 
PHP
用于創(chuàng)建動態(tài)web頁面的服務(wù)端腳本語言
 
Ruby on Rails
使用Ruby編寫的服務(wù)端Web應(yīng)用框架
 
Node.js
基于谷歌V8引擎的服務(wù)端JavaScript。
 
java
一種面向?qū)ο缶幊陶Z言。
 
JSON還會作為靜止的配置文件
 
在考慮用什么數(shù)據(jù)格式時,數(shù)據(jù)的形式和交換數(shù)據(jù)的系統(tǒng)都應(yīng)該被考慮到。?。?!JSON不總是最佳選擇。

相關(guān)文章

  • js實現(xiàn)刪除json中指定的元素

    js實現(xiàn)刪除json中指定的元素

    這篇文章主要介紹了js實現(xiàn)刪除json中指定的元素,需要的朋友可以參考下
    2020-09-09
  • JavaScript中的JSON 中文版翻譯

    JavaScript中的JSON 中文版翻譯

    JSON是JavaScript面向?qū)ο笳Z法的一個子集。由于JSON是JavaScript的一個子集,因此它可清晰的運(yùn)用于此語言中。
    2009-10-10
  • json 入門基礎(chǔ)教程 推薦

    json 入門基礎(chǔ)教程 推薦

    在異步應(yīng)用程序中發(fā)送和接收信息時,可以選擇以純文本和 XML 作為數(shù)據(jù)格式。掌握 Ajax 的這一期討論另一種有用的數(shù)據(jù)格式 JavaScript Object Notation(JSON),以及如何使用它更輕松地在應(yīng)用程序中移動數(shù)據(jù)和對象。
    2009-10-10
  • JSON掃盲帖 JSON.as類教程

    JSON掃盲帖 JSON.as類教程

    如果json字符串是從html用FlashVars來傳遞參數(shù)時那么字符串中的第一個雙引號(包括雙引號)以后的內(nèi)容就不會得到傳送.
    2009-02-02
  • JS操作JSON常用方法(10w閱讀)

    JS操作JSON常用方法(10w閱讀)

    工作中做了幾款自動化測試工具都是跟日志讀取相關(guān),日志格式又大多數(shù)都是JSON,所以這里把常用的JS操作JSON的方法做了總結(jié),需要的朋友可以參考下
    2020-12-12
  • 比較詳細(xì)的關(guān)于javascript 解析json的代碼

    比較詳細(xì)的關(guān)于javascript 解析json的代碼

    JSON (JavaScript Object Notation)一種簡單的數(shù)據(jù)格式,比xml更輕巧。 JSON 是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON 數(shù)據(jù)不需要任何特殊的 API 或工具包。
    2009-12-12
  • web頁面數(shù)據(jù)展示新想法(json)

    web頁面數(shù)據(jù)展示新想法(json)

    若使用json作為客戶端和服務(wù)器之間的數(shù)據(jù)交換格式,代替原來的html交換格式。
    2010-06-06
  • IE8 原生JSON支持

    IE8 原生JSON支持

    你可能已經(jīng)從這篇文章的標(biāo)題中猜到了,Internet Explorer 8(目前是Beta2)提供了原生JSON的解析和序列化。
    2009-04-04
  • 解決json日期格式問題的3種方法

    解決json日期格式問題的3種方法

    這篇文章主要介紹了解決json日期格式問題的3種方法 ,需要的朋友可以參考下
    2014-02-02
  • 利用json獲取字符出現(xiàn)次數(shù)的代碼

    利用json獲取字符出現(xiàn)次數(shù)的代碼

    之前看到一篇博客,列出一個字符串中每個字符出現(xiàn)的次數(shù),后來想想可以不可以用json來實現(xiàn)呢,結(jié)果當(dāng)然是可以的,廢話就不多說了
    2012-03-03

最新評論