HTML5帶來了許多強(qiáng)大的本地存儲功能,其中包括使用JSON對象在本地存儲數(shù)據(jù)。JSON對象是一種輕量級數(shù)據(jù)交換格式,通常用于將數(shù)據(jù)從服務(wù)器發(fā)送到網(wǎng)站或移動應(yīng)用程序。
localStorage.setItem('user', JSON.stringify({name: 'Tom', age: 25}));
上面的代碼使用了localStorage的setItem方法,將一個(gè)名為"user"的鍵值對存儲到本地localStorage中。需要注意的是,JSON.stringify方法將一個(gè)JavaScript對象轉(zhuǎn)換成JSON字符串。
var user = JSON.parse(localStorage.getItem('user')); console.log(user.name); // 輸出 "Tom" console.log(user.age); // 輸出 25
上面的代碼使用了JSON.parse方法從localStorage中獲取之前存儲的"user"鍵值對,并將它轉(zhuǎn)換成一個(gè)JavaScript對象。然后我們就可以像操作普通的JavaScript對象一樣來操作它。
使用JSON對象存儲數(shù)據(jù)的好處之一是它可以將復(fù)雜的嵌套結(jié)構(gòu)存儲在一個(gè)鍵值對中,例如:
localStorage.setItem('books', JSON.stringify([ {title: 'JavaScript高級編程', author: 'Nicholas C. Zakas'}, {title: '鋒利的jQuery', author: 'Bear Bibeault'}, {title: 'Node.js實(shí)戰(zhàn)', author: 'Mike Cantelon'} ]));
上面的代碼存儲了一個(gè)包含三本書信息的數(shù)組,每一本書都是一個(gè)包含"title"和"author"兩個(gè)屬性的對象。
var books = JSON.parse(localStorage.getItem('books')); console.log(books[1].title); // 輸出 "鋒利的jQuery" console.log(books[2].author); // 輸出 "Mike Cantelon"
上面的代碼展示了如何使用JSON對象從本地localStorage中獲取并操作數(shù)組中的數(shù)據(jù)。