注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計JSON實戰(zhàn)

JSON實戰(zhàn)

JSON實戰(zhàn)

定 價:¥89.00

作 者: (美)湯姆·馬爾斯
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787115485557 出版時間: 2018-07-01 包裝: 平裝
開本: 16開 頁數(shù): 280 字?jǐn)?shù):  

內(nèi)容簡介

  本書來自于作者實際使用JSON的經(jīng)驗所得,主要內(nèi)容包括JSON基礎(chǔ)知識,對JSON數(shù)據(jù)建模,在Node.js、Ruby on Rails和Java中使用JSON,結(jié)構(gòu)化JSON文檔并設(shè)計測試API,搜索JSON文檔的內(nèi)容,將JSON文檔轉(zhuǎn)換成其他數(shù)據(jù)格式,將JSON作為企業(yè)級架構(gòu)中的一部分來使用,等等。本書適合對Web和移動端應(yīng)用、RESTful API以及消息系統(tǒng)進(jìn)行設(shè)計或?qū)崿F(xiàn)的架構(gòu)師和開發(fā)人員閱讀。

作者簡介

  湯姆·馬爾斯(Tom Marrs),擁有多年企業(yè)架構(gòu)經(jīng)驗,領(lǐng)導(dǎo)過各種企業(yè)級的API、Web、移動端、云和SOA項目。目前任TEKsystems全球服務(wù)部門企業(yè)架構(gòu)師,促使公司采用了包括REST、微服務(wù)和JSON在內(nèi)的多項API架構(gòu)與技術(shù)。Tom還是敏捷開發(fā)的擁躉,并獲得Scrum聯(lián)盟的CSM認(rèn)證。邵釧,畢業(yè)于浙江大學(xué)生物科學(xué)系,熱衷于提升產(chǎn)品的用戶體驗,在UI技術(shù)領(lǐng)域歷經(jīng)Java Swing、Adobe Flex,終zhiWeb前端。目前主要感興趣的領(lǐng)域為物聯(lián)網(wǎng),并致力于相關(guān)產(chǎn)品Uniboard的設(shè)計開發(fā)。

圖書目錄

前言 xv
第 1 章 JSON概述 3
1.1 JSON是一項技術(shù)標(biāo)準(zhǔn) 3
1.2 示例 4
1.3 為什么使用JSON 5
1.4 JSON的核心概念 6
1.4.1 JSON數(shù)據(jù)類型 7
1.4.2 JSON值類型 9
1.4.3 JSON的版本 11
1.4.4 JSON中的注釋 12
1.4.5 JSON文件及MIME類型 12
1.4.6 JSON編碼規(guī)范 12
1.5 本書示例:MyConference 14
1.5.1 本書技術(shù)?!?4
1.5.2 本書架構(gòu)風(fēng)格:noBackend 14
1.5.3 用JSON Editor Online對JSON數(shù)據(jù)進(jìn)行建?!?5
1.5.4 用JSON Generator生成示例數(shù)據(jù) 16
1.5.5 創(chuàng)建并部署模擬API 16
1.6 本章回顧 19
1.7 內(nèi)容預(yù)告 19
第 2 章 在JavaScript中使用JSON 20
2.1 安裝Node.js 20
2.2 用JSON.stringify()和JSON.parse()進(jìn)行序列化 / 反序列化操作 21
2.2.1 用于stringify/parse操作的“JSON”對象 21
2.2.2 JavaScript中簡單數(shù)據(jù)類型的JSON序列化操作 21
2.2.3 使用toJSON()進(jìn)行對象的序列化操作 23
2.2.4 使用eval()進(jìn)行JSON的反序列化操作 24
2.2.5 使用JSON.parse()進(jìn)行JSON的反序列化操作 25
2.3 JavaScript對象和JSON 26
2.3.1 Node REPL 26
2.3.2 有關(guān)JavaScript對象的更多學(xué)習(xí)資料 28
2.4 用模擬API進(jìn)行單元測試 28
2.4.1 單元測試風(fēng)格——TDD和BDD 28
2.4.2 使用Mocha和Chai即可完成單元測試 29
2.4.3 設(shè)置單元測試環(huán)境 29
2.4.4 Unirest 29
2.4.5 測試數(shù)據(jù) 30
2.4.6 對演講者數(shù)據(jù)進(jìn)行單元測試 30
2.5 搭建小型Web應(yīng)用程序 31
2.5.1 Yeoman 32
2.5.2 第 1 階段:使用Yeoman生成Web應(yīng)用程序 33
2.5.3 第 2 階段:使用jQuery發(fā)起HTTP請求 36
2.5.4 第 3 階段:在模板中使用模擬API所提供的演講者數(shù)據(jù) 40
2.6 如何繼續(xù)深入學(xué)習(xí)JavaScript 44
2.7 本章回顧 45
2.8 內(nèi)容預(yù)告 45
第 3 章 在Ruby on Rails中使用JSON 46
3.1 安裝Ruby on Rails 46
3.2 Ruby中與JSON有關(guān)的gem包 46
3.3 用MultiJson進(jìn)行序列化 / 反序列化操作 47
3.3.1 MultiJson對象 47
3.3.2 Ruby中簡單數(shù)據(jù)類型的JSON序列化 / 反序列化操作 48
3.3.3 用MultiJson進(jìn)行JSON反序列化操作 50
3.3.4 關(guān)于JSON和駝峰式命名 52
3.3.5 用ActiveSupport進(jìn)行JSON序列化操作 52
3.3.6 用ActiveSupport進(jìn)行JSON反序列化操作 53
3.4 用模擬API進(jìn)行單元測試 54
3.4.1 使用Minitest即可完成單元測試 54
3.4.2 設(shè)置單元測試環(huán)境 55
3.4.3 測試數(shù)據(jù) 55
3.4.4 用Minitest測試API所提供的JSON 55
3.4.5 對演講者數(shù)據(jù)的單元測試 55
3.4.6 有關(guān)Ruby和Minitest的更多學(xué)習(xí)資料 59
3.4.7 似乎少了點什么 59
3.5 用Ruby on Rails搭建小型Web API 59
3.5.1 選擇JSON序列化工具 60
3.5.2 speakers-api-1——創(chuàng)建API以提供駝峰式命名風(fēng)格的JSON 61
3.5.3 speakers-api-2——創(chuàng)建API以提供自定義風(fēng)格的JSON 67
3.5.4 有關(guān)Rails和Rails API的更多學(xué)習(xí)資料 68
3.6 本章回顧 69
3.7 內(nèi)容預(yù)告 69
第 4 章 在Java中使用JSON 70
4.1 安裝Java和Gradle 70
4.2 Gradle概覽 70
4.3 使用JUnit即可完成單元測試 72
4.4 Java中的JSON類庫 72
4.5 用Jackson進(jìn)行JSON序列化 / 反序列化操作 73
4.5.1 對Java中的簡單數(shù)據(jù)類型進(jìn)行序列化 / 反序列化操作 73
4.5.2 對Java對象進(jìn)行序列化 / 反序列化操作 75
4.6 用模擬API進(jìn)行單元測試 79
4.6.1 測試數(shù)據(jù) 79
4.6.2 用JUnit對API提供的JSON進(jìn)行測試 80
4.7 用Spring Boot搭建小型Web API 83
4.7.1 創(chuàng)建模型 84
4.7.2 創(chuàng)建控制器 85
4.7.3 注冊應(yīng)用程序 87
4.7.4 編寫構(gòu)建腳本 87
4.7.5 部署API 89
4.7.6 用Postman測試API 89
4.8 本章回顧 90
4.9 內(nèi)容預(yù)告 90
D二部分 JSON生態(tài)系統(tǒng)
第 5 章 JSON Schema 93
5.1 JSON Schema概覽 93
5.1.1 JSON Schema是什么 93
5.1.2 語法校驗與語義校驗 94
5.1.3 簡單示例 94
5.1.4 Web上的JSON Schema資源 95
5.1.5 為什么使用JSON Schema 96
5.1.6 我在JSON Schema上的經(jīng)歷 97
5.1.7 JSON Schema標(biāo)準(zhǔn)的現(xiàn)狀 97
5.1.8 JSON Schema與XML Schema 97
5.2 JSON Schema核心——基礎(chǔ)知識與工具 97
5.2.1 JSON Schema工作流與工具 97
5.2.2 核心關(guān)鍵詞 100
5.2.3 基礎(chǔ)類型 100
5.2.4 數(shù)值 103
5.2.5 數(shù)組 104
5.2.6 枚舉值 106
5.2.7 對象 107
5.2.8 模式屬性 108
5.2.9 正則表達(dá)式 110
5.2.10 依賴屬性 111
5.2.11 內(nèi)部引用 113
5.2.12 外部引用 114
5.2.13 選擇校驗規(guī)則 117
5.3 如何使用JSON Schema設(shè)計和測試API 121
5.3.1 應(yīng)用場景 121
5.3.2 JSON文檔建?!?21
5.3.3 生成JSON Schema 122
5.3.4 校驗JSON文檔 125
5.3.5 生成示例數(shù)據(jù) 126
5.3.6 用json-server部署模擬API 129
5.3.7 關(guān)于用JSON Schema設(shè)計和測試API的一些思考 130
5.4 使用JSON Schema類庫進(jìn)行校驗 130
5.5 如何繼續(xù)深入學(xué)習(xí)JSON Schema 131
5.6 本章回顧 131
5.7 內(nèi)容預(yù)告 131
第 6 章 在JSON中進(jìn)行搜索 132
6.1 為什么要在JSON中進(jìn)行搜索 132
6.2 JSON搜索類庫和工具 132
6.2.1 其他you秀工具 133
6.2.2 選擇工具的標(biāo)準(zhǔn) 133
6.3 測試數(shù)據(jù) 134
6.4 設(shè)置單元測試環(huán)境 135
6.5 比較JSON搜索類庫和工具 136
6.5.1 JSONPath 136
6.5.2 JSON Pointer 141
6.5.3 jq 145
6.6 搜索工具評估——總結(jié)概要 154
6.7 本章回顧 155
6.8 內(nèi)容預(yù)告 155
第 7 章 JSON轉(zhuǎn)換 156
7.1 JSON轉(zhuǎn)換類型 156
7.2 選擇JSON轉(zhuǎn)換類庫的標(biāo)準(zhǔn) 157
7.3 測試輸入數(shù)據(jù) 157
7.4 將JSON轉(zhuǎn)換為HTML 159
7.4.1 目標(biāo)HTML文檔 159
7.4.2 Mustache 160
7.4.3 Handlebars 165
7.4.4 轉(zhuǎn)換工具評估——總結(jié)概要 170
7.5 JSON格式轉(zhuǎn)換 170
7.5.1 存在的問題 170
7.5.2 JSON格式轉(zhuǎn)換類庫 170
7.5.3 其他you秀工具 171
7.5.4 目標(biāo)JSON輸出 171
7.5.5 JSON Patch 172
7.5.6 JSON-T 177
7.5.7 Mustache 180
7.5.8 Handlebars 182
7.5.9 轉(zhuǎn)換工具評估——總結(jié)概要 184
7.6 JSON與XML的相互轉(zhuǎn)換 185
7.6.1 傳統(tǒng)轉(zhuǎn)換工具 185
7.6.2 傳統(tǒng)轉(zhuǎn)換工具所面對的問題 193
7.6.3 XML-JSON相互轉(zhuǎn)換——總結(jié)概要 193
7.6.4 JSON-XML相互轉(zhuǎn)換——單元測試 194
7.7 本章回顧 196
7.8 內(nèi)容預(yù)告 196
第三部分 JSON的企業(yè)級應(yīng)用
第 8 章 JSON與超媒體 199
8.1 超媒體格式對比 200
8.1.1 定義關(guān)鍵詞 201
8.1.2 關(guān)于超媒體的個人看法 201
8.1.3 Siren 202
8.1.4 JSON-LD 203
8.1.5 Collection+JSON 207
8.1.6 json:api 208
8.1.7 HAL 211
8.2 結(jié)論 215
8.3 建議 216
8.4 實際中遇到的問題 217
8.5 在演講者數(shù)據(jù)API中用HAL進(jìn)行測試 217
8.5.1 測試數(shù)據(jù) 217
8.5.2 HAL單元測試 219
8.6 在服務(wù)器端使用HAL 222
8.7 深入學(xué)習(xí)超媒體 223
8.8 本章回顧 223
8.9 內(nèi)容預(yù)告 223
第 9 章 JSON與MongoDB 224
9.1 關(guān)于BSON 224
9.2 安裝MongoDB 225
9.3 MongoDB服務(wù)器及相關(guān)工具 225
9.4 MongoDB服務(wù)器 225
9.5 將JSON導(dǎo)入MongoDB 226
9.6 MongoDB命令行 228
9.7 從MongoDB中導(dǎo)出JSON文檔 231
9.8 關(guān)于Schema 233
9.9 用MongoDB進(jìn)行RESTful API測試 234
9.9.1 測試輸入數(shù)據(jù) 235
9.9.2 對MongoDB進(jìn)行RESTful封裝 235
9.10 本章回顧 237
9.11 內(nèi)容預(yù)告 238
第 10 章 用Kafka實現(xiàn)JSON消息系統(tǒng) 239
10.1 Kafka的用例 239
10.2 Kafka中的概念和專有名詞 240
10.3 Kafka生態(tài)系統(tǒng)——相關(guān)項目 241
10.4 配置Kafka環(huán)境 241
10.5 Kafka命令行界面 242
10.5.1 如何用命令行界面發(fā)布JSON消息 242
10.5.2 啟動ZooKeeper 243
10.5.3 啟動Kafka 243
10.5.4 創(chuàng)建主題 243
10.5.5 列舉主題 244
10.5.6 啟動消費者程序 244
10.5.7 發(fā)布JSON消息 245
10.5.8 使用JSON消息 245
10.5.9 清理并關(guān)閉Kafka 246
10.6 Kafka的類庫 247
10.7 端到端示例——MyConference中的演講者提案 247
10.7.1 測試數(shù)據(jù) 247
10.7.2 架構(gòu)中的組件 249
10.7.3 配置Kafka環(huán)境 250
10.7.4 配置模擬的電子郵件服務(wù)器及客戶端——MailCatcher 251
10.7.5 配置Node.js項目環(huán)境 251
10.7.6 演講提案生成程序(用于發(fā)送演講提案) 252
10.7.7 提案審核程序(消息的消費者和生產(chǎn)者) 252
10.7.8 演講者提醒程序(消息的消費者) 257
10.7.9 用MailCatcher實現(xiàn)審核結(jié)果的電子郵件提醒功能 260
10.8 本章回顧 262
附錄 A 安裝指南 263
附錄 B JSON社區(qū) 277
關(guān)于作者 278
關(guān)于封面 278

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號