JSON實戰

JSON實戰

《JSON實戰》是2018年7月人民郵電出版社出版的圖書,作者是[美]湯姆·馬爾斯(Tom Marrs)。

基本介紹

  • 中文名:JSON實戰
  • 作者:[美]湯姆·馬爾斯(Tom Marrs)
  • 出版時間:2018年7月
  • 出版社:人民郵電出版社
  • 頁數:280 頁
  • ISBN:9787115485557
  • 定價:89 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

本書來自於作者實際使用JSON的經驗所得,主要內容包括JSON基礎知識,對JSON數據建模,在Node.js、Ruby on Rails和Java中使用JSON,結構化JSON文檔並設計測試API,搜尋JSON文檔的內容,將JSON文檔轉換成其他數據格式,將JSON作為企業級架構中的一部分來使用,等等。
本書適合對Web和移動端套用、RESTful API以及訊息系統進行設計或實現的架構師和開發人員閱讀。

圖書目錄

前言 xv
第 1 章 JSON概述 3
1.1 JSON是一項技術標準 3
1.2 示例 4
1.3 為什麼使用JSON 5
1.4 JSON的核心概念 6
1.4.1 JSON數據類型 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編碼規範 12
1.5 本書示例:MyConference 14
1.5.1 本書技術棧 14
1.5.2 本書架構風格:noBackend 14
1.5.3 用JSON Editor Online對JSON數據進行建模 15
1.5.4 用JSON Generator生成示例數據 16
1.5.5 創建並部署模擬API 16
1.6 本章回顧 19
1.7 內容預告 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中簡單數據類型的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 設定單元測試環境 29
2.4.4 Unirest 29
2.4.5 測試數據 30
2.4.6 對演講者數據進行單元測試 30
2.5 搭建小型Web應用程式 31
2.5.1 Yeoman 32
2.5.2 第 1 階段:使用Yeoman生成Web應用程式 33
2.5.3 第 2 階段:使用jQuery發起HTTP請求 36
2.5.4 第 3 階段:在模板中使用模擬API所提供的演講者數據 40
2.6 如何繼續深入學習JavaScript 44
2.7 本章回顧 45
2.8 內容預告 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中簡單數據類型的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 設定單元測試環境 55
3.4.3 測試數據 55
3.4.4 用Minitest測試API所提供的JSON 55
3.4.5 對演講者數據的單元測試 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——創建API以提供駝峰式命名風格的JSON 61
3.5.3 speakers-api-2——創建API以提供自定義風格的JSON 67
3.5.4 有關Rails和Rails API的更多學習資料 68
3.6 本章回顧 69
3.7 內容預告 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中的簡單數據類型進行序列化 / 反序列化操作 73
4.5.2 對Java對象進行序列化 / 反序列化操作 75
4.6 用模擬API進行單元測試 79
4.6.1 測試數據 79
4.6.2 用JUnit對API提供的JSON進行測試 80
4.7 用Spring Boot搭建小型Web API 83
4.7.1 創建模型 84
4.7.2 創建控制器 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 內容預告 90
D二部分 JSON生態系統
第 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上的經歷 97
5.1.7 JSON Schema標準的現狀 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 數值 103
5.2.5 數組 104
5.2.6 枚舉值 106
5.2.7 對象 107
5.2.8 模式屬性 108
5.2.9 正則表達式 110
5.2.10 依賴屬性 111
5.2.11 內部引用 113
5.2.12 外部引用 114
5.2.13 選擇校驗規則 117
5.3 如何使用JSON Schema設計和測試API 121
5.3.1 套用場景 121
5.3.2 JSON文檔建模 121
5.3.3 生成JSON Schema 122
5.3.4 校驗JSON文檔 125
5.3.5 生成示例數據 126
5.3.6 用json-server部署模擬API 129
5.3.7 關於用JSON Schema設計和測試API的一些思考 130
5.4 使用JSON Schema類庫進行校驗 130
5.5 如何繼續深入學習JSON Schema 131
5.6 本章回顧 131
5.7 內容預告 131
第 6 章 在JSON中進行搜尋 132
6.1 為什麼要在JSON中進行搜尋 132
6.2 JSON搜尋類庫和工具 132
6.2.1 其他you秀工具 133
6.2.2 選擇工具的標準 133
6.3 測試數據 134
6.4 設定單元測試環境 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 內容預告 155
第 7 章 JSON轉換 156
7.1 JSON轉換類型 156
7.2 選擇JSON轉換類庫的標準 157
7.3 測試輸入數據 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 傳統轉換工具 185
7.6.2 傳統轉換工具所面對的問題 193
7.6.3 XML-JSON相互轉換——總結概要 193
7.6.4 JSON-XML相互轉換——單元測試 194
7.7 本章回顧 196
7.8 內容預告 196
第三部分 JSON的企業級套用
第 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 在演講者數據API中用HAL進行測試 217
8.5.1 測試數據 217
8.5.2 HAL單元測試 219
8.6 在伺服器端使用HAL 222
8.7 深入學習超媒體 223
8.8 本章回顧 223
8.9 內容預告 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 測試輸入數據 235
9.9.2 對MongoDB進行RESTful封裝 235
9.10 本章回顧 237
9.11 內容預告 238
第 10 章 用Kafka實現JSON訊息系統 239
10.1 Kafka的用例 239
10.2 Kafka中的概念和專有名詞 240
10.3 Kafka生態系統——相關項目 241
10.4 配置Kafka環境 241
10.5 Kafka命令行界面 242
10.5.1 如何用命令行界面發布JSON訊息 242
10.5.2 啟動ZooKeeper 243
10.5.3 啟動Kafka 243
10.5.4 創建主題 243
10.5.5 列舉主題 244
10.5.6 啟動消費者程式 244
10.5.7 發布JSON訊息 245
10.5.8 使用JSON訊息 245
10.5.9 清理並關閉Kafka 246
10.6 Kafka的類庫 247
10.7 端到端示例——MyConference中的演講者提案 247
10.7.1 測試數據 247
10.7.2 架構中的組件 249
10.7.3 配置Kafka環境 250
10.7.4 配置模擬的電子郵件伺服器及客戶端——MailCatcher 251
10.7.5 配置Node.js項目環境 251
10.7.6 演講提案生成程式(用於傳送演講提案) 252
10.7.7 提案審核程式(訊息的消費者和生產者) 252
10.7.8 演講者提醒程式(訊息的消費者) 257
10.7.9 用MailCatcher實現審核結果的電子郵件提醒功能 260
10.8 本章回顧 262
附錄 A 安裝指南 263
附錄 B JSON社區 277
關於作者 278
關於封面 278

相關詞條

熱門詞條

聯絡我們