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

JSON實(shí)戰(zhàn)

JSON實(shí)戰(zhàn)

定 價(jià):¥89.00

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

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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

前言 xv
第 1 章 JSON概述 3
1.1 JSON是一項(xiàng)技術(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對(duì)JSON數(shù)據(jù)進(jìn)行建模 15
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”對(duì)象 21
2.2.2 JavaScript中簡(jiǎn)單數(shù)據(jù)類型的JSON序列化操作 21
2.2.3 使用toJSON()進(jìn)行對(duì)象的序列化操作 23
2.2.4 使用eval()進(jìn)行JSON的反序列化操作 24
2.2.5 使用JSON.parse()進(jìn)行JSON的反序列化操作 25
2.3 JavaScript對(duì)象和JSON 26
2.3.1 Node REPL 26
2.3.2 有關(guān)JavaScript對(duì)象的更多學(xué)習(xí)資料 28
2.4 用模擬API進(jìn)行單元測(cè)試 28
2.4.1 單元測(cè)試風(fēng)格——TDD和BDD 28
2.4.2 使用Mocha和Chai即可完成單元測(cè)試 29
2.4.3 設(shè)置單元測(cè)試環(huán)境 29
2.4.4 Unirest 29
2.4.5 測(cè)試數(shù)據(jù) 30
2.4.6 對(duì)演講者數(shù)據(jù)進(jìn)行單元測(cè)試 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請(qǐng)求 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對(duì)象 47
3.3.2 Ruby中簡(jiǎn)單數(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)行單元測(cè)試 54
3.4.1 使用Minitest即可完成單元測(cè)試 54
3.4.2 設(shè)置單元測(cè)試環(huán)境 55
3.4.3 測(cè)試數(shù)據(jù) 55
3.4.4 用Minitest測(cè)試API所提供的JSON 55
3.4.5 對(duì)演講者數(shù)據(jù)的單元測(cè)試 55
3.4.6 有關(guān)Ruby和Minitest的更多學(xué)習(xí)資料 59
3.4.7 似乎少了點(diǎn)什么 59
3.5 用Ruby on Rails搭建小型Web API 59
3.5.1 選擇JSON序列化工具 60
3.5.2 speakers-api-1——?jiǎng)?chuàng)建API以提供駝峰式命名風(fēng)格的JSON 61
3.5.3 speakers-api-2——?jiǎng)?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即可完成單元測(cè)試 72
4.4 Java中的JSON類庫(kù) 72
4.5 用Jackson進(jìn)行JSON序列化 / 反序列化操作 73
4.5.1 對(duì)Java中的簡(jiǎn)單數(shù)據(jù)類型進(jìn)行序列化 / 反序列化操作 73
4.5.2 對(duì)Java對(duì)象進(jìn)行序列化 / 反序列化操作 75
4.6 用模擬API進(jìn)行單元測(cè)試 79
4.6.1 測(cè)試數(shù)據(jù) 79
4.6.2 用JUnit對(duì)API提供的JSON進(jìn)行測(cè)試 80
4.7 用Spring Boot搭建小型Web API 83
4.7.1 創(chuàng)建模型 84
4.7.2 創(chuàng)建控制器 85
4.7.3 注冊(cè)應(yīng)用程序 87
4.7.4 編寫構(gòu)建腳本 87
4.7.5 部署API 89
4.7.6 用Postman測(cè)試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 語(yǔ)法校驗(yàn)與語(yǔ)義校驗(yàn) 94
5.1.3 簡(jiǎn)單示例 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ǔ)知識(shí)與工具 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 對(duì)象 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 選擇校驗(yàn)規(guī)則 117
5.3 如何使用JSON Schema設(shè)計(jì)和測(cè)試API 121
5.3.1 應(yīng)用場(chǎng)景 121
5.3.2 JSON文檔建?!?21
5.3.3 生成JSON Schema 122
5.3.4 校驗(yàn)JSON文檔 125
5.3.5 生成示例數(shù)據(jù) 126
5.3.6 用json-server部署模擬API 129
5.3.7 關(guān)于用JSON Schema設(shè)計(jì)和測(cè)試API的一些思考 130
5.4 使用JSON Schema類庫(kù)進(jìn)行校驗(yà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搜索類庫(kù)和工具 132
6.2.1 其他you秀工具 133
6.2.2 選擇工具的標(biāo)準(zhǔn) 133
6.3 測(cè)試數(shù)據(jù) 134
6.4 設(shè)置單元測(cè)試環(huán)境 135
6.5 比較JSON搜索類庫(kù)和工具 136
6.5.1 JSONPath 136
6.5.2 JSON Pointer 141
6.5.3 jq 145
6.6 搜索工具評(píng)估——總結(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)換類庫(kù)的標(biāo)準(zhǔn) 157
7.3 測(cè)試輸入數(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)換工具評(píng)估——總結(jié)概要 170
7.5 JSON格式轉(zhuǎn)換 170
7.5.1 存在的問(wèn)題 170
7.5.2 JSON格式轉(zhuǎn)換類庫(kù) 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)換工具評(píng)估——總結(jié)概要 184
7.6 JSON與XML的相互轉(zhuǎn)換 185
7.6.1 傳統(tǒng)轉(zhuǎn)換工具 185
7.6.2 傳統(tǒng)轉(zhuǎn)換工具所面對(duì)的問(wèn)題 193
7.6.3 XML-JSON相互轉(zhuǎn)換——總結(jié)概要 193
7.6.4 JSON-XML相互轉(zhuǎn)換——單元測(cè)試 194
7.7 本章回顧 196
7.8 內(nèi)容預(yù)告 196
第三部分 JSON的企業(yè)級(jí)應(yīng)用
第 8 章 JSON與超媒體 199
8.1 超媒體格式對(duì)比 200
8.1.1 定義關(guān)鍵詞 201
8.1.2 關(guān)于超媒體的個(gè)人看法 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 實(shí)際中遇到的問(wèn)題 217
8.5 在演講者數(shù)據(jù)API中用HAL進(jìn)行測(cè)試 217
8.5.1 測(cè)試數(shù)據(jù) 217
8.5.2 HAL單元測(cè)試 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測(cè)試 234
9.9.1 測(cè)試輸入數(shù)據(jù) 235
9.9.2 對(duì)MongoDB進(jìn)行RESTful封裝 235
9.10 本章回顧 237
9.11 內(nèi)容預(yù)告 238
第 10 章 用Kafka實(shí)現(xiàn)JSON消息系統(tǒng) 239
10.1 Kafka的用例 239
10.2 Kafka中的概念和專有名詞 240
10.3 Kafka生態(tài)系統(tǒng)——相關(guān)項(xiàng)目 241
10.4 配置Kafka環(huán)境 241
10.5 Kafka命令行界面 242
10.5.1 如何用命令行界面發(fā)布JSON消息 242
10.5.2 啟動(dòng)ZooKeeper 243
10.5.3 啟動(dòng)Kafka 243
10.5.4 創(chuàng)建主題 243
10.5.5 列舉主題 244
10.5.6 啟動(dòng)消費(fèi)者程序 244
10.5.7 發(fā)布JSON消息 245
10.5.8 使用JSON消息 245
10.5.9 清理并關(guān)閉Kafka 246
10.6 Kafka的類庫(kù) 247
10.7 端到端示例——MyConference中的演講者提案 247
10.7.1 測(cè)試數(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項(xiàng)目環(huán)境 251
10.7.6 演講提案生成程序(用于發(fā)送演講提案) 252
10.7.7 提案審核程序(消息的消費(fèi)者和生產(chǎn)者) 252
10.7.8 演講者提醒程序(消息的消費(fèi)者) 257
10.7.9 用MailCatcher實(shí)現(xiàn)審核結(jié)果的電子郵件提醒功能 260
10.8 本章回顧 262
附錄 A 安裝指南 263
附錄 B JSON社區(qū) 277
關(guān)于作者 278
關(guān)于封面 278

本目錄推薦

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