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

JSON實戰(zhàn)

JSON實戰(zhàn)

定 價:¥89.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

前言 xv
第 1 章 JSON概述 3
1.1 JSON是一項技術標準 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 本書技術?!?4
1.5.2 本書架構風格:noBackend 14
1.5.3 用JSON Editor Online對JSON數(shù)據(jù)進行建?!?5
1.5.4 用JSON Generator生成示例數(shù)據(jù) 16
1.5.5 創(chuàng)建并部署模擬API 16
1.6 本章回顧 19
1.7 內(nèi)容預告 19
第 2 章 在JavaScript中使用JSON 20
2.1 安裝Node.js 20
2.2 用JSON.stringify()和JSON.parse()進行序列化 / 反序列化操作 21
2.2.1 用于stringify/parse操作的“JSON”對象 21
2.2.2 JavaScript中簡單數(shù)據(jù)類型的JSON序列化操作 21
2.2.3 使用toJSON()進行對象的序列化操作 23
2.2.4 使用eval()進行JSON的反序列化操作 24
2.2.5 使用JSON.parse()進行JSON的反序列化操作 25
2.3 JavaScript對象和JSON 26
2.3.1 Node REPL 26
2.3.2 有關JavaScript對象的更多學習資料 28
2.4 用模擬API進行單元測試 28
2.4.1 單元測試風格——TDD和BDD 28
2.4.2 使用Mocha和Chai即可完成單元測試 29
2.4.3 設置單元測試環(huán)境 29
2.4.4 Unirest 29
2.4.5 測試數(shù)據(jù) 30
2.4.6 對演講者數(shù)據(jù)進行單元測試 30
2.5 搭建小型Web應用程序 31
2.5.1 Yeoman 32
2.5.2 第 1 階段:使用Yeoman生成Web應用程序 33
2.5.3 第 2 階段:使用jQuery發(fā)起HTTP請求 36
2.5.4 第 3 階段:在模板中使用模擬API所提供的演講者數(shù)據(jù) 40
2.6 如何繼續(xù)深入學習JavaScript 44
2.7 本章回顧 45
2.8 內(nèi)容預告 45
第 3 章 在Ruby on Rails中使用JSON 46
3.1 安裝Ruby on Rails 46
3.2 Ruby中與JSON有關的gem包 46
3.3 用MultiJson進行序列化 / 反序列化操作 47
3.3.1 MultiJson對象 47
3.3.2 Ruby中簡單數(shù)據(jù)類型的JSON序列化 / 反序列化操作 48
3.3.3 用MultiJson進行JSON反序列化操作 50
3.3.4 關于JSON和駝峰式命名 52
3.3.5 用ActiveSupport進行JSON序列化操作 52
3.3.6 用ActiveSupport進行JSON反序列化操作 53
3.4 用模擬API進行單元測試 54
3.4.1 使用Minitest即可完成單元測試 54
3.4.2 設置單元測試環(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 有關Ruby和Minitest的更多學習資料 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以提供駝峰式命名風格的JSON 61
3.5.3 speakers-api-2——創(chuàng)建API以提供自定義風格的JSON 67
3.5.4 有關Rails和Rails API的更多學習資料 68
3.6 本章回顧 69
3.7 內(nèi)容預告 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進行JSON序列化 / 反序列化操作 73
4.5.1 對Java中的簡單數(shù)據(jù)類型進行序列化 / 反序列化操作 73
4.5.2 對Java對象進行序列化 / 反序列化操作 75
4.6 用模擬API進行單元測試 79
4.6.1 測試數(shù)據(jù) 79
4.6.2 用JUnit對API提供的JSON進行測試 80
4.7 用Spring Boot搭建小型Web API 83
4.7.1 創(chuàng)建模型 84
4.7.2 創(chuàng)建控制器 85
4.7.3 注冊應用程序 87
4.7.4 編寫構建腳本 87
4.7.5 部署API 89
4.7.6 用Postman測試API 89
4.8 本章回顧 90
4.9 內(nèi)容預告 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標準的現(xiàn)狀 97
5.1.8 JSON Schema與XML Schema 97
5.2 JSON Schema核心——基礎知識與工具 97
5.2.1 JSON Schema工作流與工具 97
5.2.2 核心關鍵詞 100
5.2.3 基礎類型 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 正則表達式 110
5.2.10 依賴屬性 111
5.2.11 內(nèi)部引用 113
5.2.12 外部引用 114
5.2.13 選擇校驗規(guī)則 117
5.3 如何使用JSON Schema設計和測試API 121
5.3.1 應用場景 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 關于用JSON Schema設計和測試API的一些思考 130
5.4 使用JSON Schema類庫進行校驗 130
5.5 如何繼續(xù)深入學習JSON Schema 131
5.6 本章回顧 131
5.7 內(nèi)容預告 131
第 6 章 在JSON中進行搜索 132
6.1 為什么要在JSON中進行搜索 132
6.2 JSON搜索類庫和工具 132
6.2.1 其他you秀工具 133
6.2.2 選擇工具的標準 133
6.3 測試數(shù)據(jù) 134
6.4 設置單元測試環(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 搜索工具評估——總結概要 154
6.7 本章回顧 155
6.8 內(nèi)容預告 155
第 7 章 JSON轉換 156
7.1 JSON轉換類型 156
7.2 選擇JSON轉換類庫的標準 157
7.3 測試輸入數(shù)據(jù) 157
7.4 將JSON轉換為HTML 159
7.4.1 目標HTML文檔 159
7.4.2 Mustache 160
7.4.3 Handlebars 165
7.4.4 轉換工具評估——總結概要 170
7.5 JSON格式轉換 170
7.5.1 存在的問題 170
7.5.2 JSON格式轉換類庫 170
7.5.3 其他you秀工具 171
7.5.4 目標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 轉換工具評估——總結概要 184
7.6 JSON與XML的相互轉換 185
7.6.1 傳統(tǒng)轉換工具 185
7.6.2 傳統(tǒng)轉換工具所面對的問題 193
7.6.3 XML-JSON相互轉換——總結概要 193
7.6.4 JSON-XML相互轉換——單元測試 194
7.7 本章回顧 196
7.8 內(nèi)容預告 196
第三部分 JSON的企業(yè)級應用
第 8 章 JSON與超媒體 199
8.1 超媒體格式對比 200
8.1.1 定義關鍵詞 201
8.1.2 關于超媒體的個人看法 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 結論 215
8.3 建議 216
8.4 實際中遇到的問題 217
8.5 在演講者數(shù)據(jù)API中用HAL進行測試 217
8.5.1 測試數(shù)據(jù) 217
8.5.2 HAL單元測試 219
8.6 在服務器端使用HAL 222
8.7 深入學習超媒體 223
8.8 本章回顧 223
8.9 內(nèi)容預告 223
第 9 章 JSON與MongoDB 224
9.1 關于BSON 224
9.2 安裝MongoDB 225
9.3 MongoDB服務器及相關工具 225
9.4 MongoDB服務器 225
9.5 將JSON導入MongoDB 226
9.6 MongoDB命令行 228
9.7 從MongoDB中導出JSON文檔 231
9.8 關于Schema 233
9.9 用MongoDB進行RESTful API測試 234
9.9.1 測試輸入數(shù)據(jù) 235
9.9.2 對MongoDB進行RESTful封裝 235
9.10 本章回顧 237
9.11 內(nèi)容預告 238
第 10 章 用Kafka實現(xiàn)JSON消息系統(tǒng) 239
10.1 Kafka的用例 239
10.2 Kafka中的概念和專有名詞 240
10.3 Kafka生態(tài)系統(tǒng)——相關項目 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 清理并關閉Kafka 246
10.6 Kafka的類庫 247
10.7 端到端示例——MyConference中的演講者提案 247
10.7.1 測試數(shù)據(jù) 247
10.7.2 架構中的組件 249
10.7.3 配置Kafka環(huán)境 250
10.7.4 配置模擬的電子郵件服務器及客戶端——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)審核結果的電子郵件提醒功能 260
10.8 本章回顧 262
附錄 A 安裝指南 263
附錄 B JSON社區(qū) 277
關于作者 278
關于封面 278

本目錄推薦

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