對使用JSON 數據這樣的 API(提供了將自己的數據結構轉換為文本的函數),也需要學習這個 API 並使用 API 的對象,而不是使用原生的 JavaScript 對象和語法,這樣就可以輕松地將數據轉換為可以在請求中發送給服務。
將 JSON 數據賦值給變量
例如,可以創建一個新的 JavaScript 變量,然後將 JSON 格式的數據字符串直接賦值給它:
- people.programmers[0].lastName;
這非常簡單;現在 people 包含前面看到的 JSON 格式的數據。但是,這還不夠,因為訪問數據的方式似乎還不明顯。
訪問數據
盡管看起來不明顯,但是上面的長字符串實際上只是一個數組;將這個數組放進 Javascript 變量之後,就可以很輕松地訪問它。實際上,只需用點號表示法來表示數組元素。所以,要想訪問 programmers 列表的第一個條目的姓氏,只需在 JavaScript 中使用下面這樣的代碼:
- people.authors[1].genre
- // Value is "fantasy" people.musicians[3].lastName
- // Undefined. This refers to the fourth entry, and there isn't one people.programmers.
- [2].firstName // Value is "Elliotte"
注意,數組索引是從零開始的。所以,這行代碼首先訪問 people 變量中的數據;然後移動到稱為 programmers 的條目,再移動到第一個記錄([0]);最後,訪問 lastName 鍵的值。結果是字符串值 “McLaughlin”。
下面是使用同一變量的幾個示例。
- people.musicians[1].lastName = "Rachmaninov";
利用這樣的語法,可以處理任何 JSON 格式的數據,而不需要使用任何額外的 JavaScript 工具包或 API。
修改 JSON 數據
正如可以用點號和括號訪問數據,也可以按照同樣的方式輕松地修改數據:
- String newJSONtext = people.toJSONString();
這樣就行了!現在就獲得了一個可以在任何地方使用的文本字符串,例如,可以將它用作JSON 數據應用程序中的請求字符串。