[英]How can I extract a number value from a json localStorage string?
我是JSON新手,請多多包涵!
我將3個數值存儲在localStorage中,然后將它們加起來。
出現localstorage json字符串(在本地存儲中隨機輸入數字)
{"bookmarks3":"[{\"answer\":\"989\"}]","bookmarks4":"[{\"answer\":\"8777\"}]","bookmarks5":"[{\"answer\":\"8777\"}]"}
這是我的代碼:
function bookmarkMath() {
// Fetch input
// Get bookmarks from LocalStorage
var bm1 = JSON.stringify(localStorage);
var bm2 = 10;
var bm3 = 30;
var bookmarksTotal = JSON.parse(bm1) + bm2 + bm3;
// Get output id
var bookmarkmathResults = document.querySelector('.input-results-math');
// Build outputs
bookmarkmathResults.innerHTML = '';
var name = bookmarksTotal;
bookmarkmathResults.innerHTML = name;
bookmarkmathResults.style.display = 'inline-block';
console.log(`Total is "${booksmarksTotal}"`);
}
本地存儲輸出
bookmarks3=[[{"answer":"35"}]]
bookmarks4=[[{"answer":"355"}]]
bookmarks5=[[{"answer":"2344"}]]
任何幫助將不勝感激!
沒有理由對JSON進行字符串化,因為無論如何稍后都將再次對其進行解析。
您可以通過執行localStorage.getItem或localStorage.param輕松獲取值
因此,在上面的示例中,您將執行以下操作:
var bm1 = localStorage.getItem('bookmarks1');
或者您可以通過以下方式訪問:
var bm1 = localStorage.bookmarks1
您當前的設置只是json.parse將返回JSON而不是與您的密鑰關聯的值的數據。
要僅獲取數字,只需執行.answer即可。 所以:
var bm1. = localStorage.bookmarks1[0].answer
要么
var bm1 = localStorage.getItem('bookmarks1')[0].answer
請注意,您要存儲一個數組,因此需要獲取索引0,看起來每個條目不超過一個。
如果要從bm1
獲取每個數字,只需像這樣遍歷對象:
for (var bookmark in bm1) {
console.log(key[0].answer);
}
這會將以下內容輸出到控制台;
989
8777
8777
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.