2016-11-02 5 views
0

может я попробовал это одинПочему я не JSON.stringify LocalStorage

JSON.stringify(localStorage, function(key, value) { 
     console.log(key); 
     return (key.split('.')[0] === 'SUWDdb') ? value : undefined; 
}) 

и это только возвращает неопределенное значение, консольный вход только один записи. Может ли кто-нибудь дать мне повод и решение?

ответ

1

Ну, ничто на верхнем уровне не удовлетворяет вашему условию, и в этом случае ваша функция возвращается неопределенно, что означает, что ничто ниже, чем стробировано. Вы, вероятно, хотите:

JSON.stringify(localStorage, function(key, value) { 
    console.log(key); 
    return (typeof value === 'object' || key.split('.')[0] === 'SUWDdb') ? value : undefined; 
      ^^^^^^^^^^^^^^^^^^^^^^^^^ 
}) 

Это позволит JSON.stringify держать перемещения вниз, когда он сталкивается с объектом.

+0

Спасибо так много чувака, я использую свой подход, и это работает !!! Вы только что спасли мою жизнь –

0

Просто держать его просто, если у вас есть LocalStorage и вы хотите stringify его использовать

JSON.stringify (LocalStorage) Где LocalStorage переменная, которая имеет LocalStorage объект

jsonString = JSON.stringify (значение [ , replacer [, space]])

value Объект JavaScript для преобразования в строку JSON.

replacer Функция, которая изменяет поведение процесса строковой привязки или массив объектов String и Number, которые служат в качестве белого списка для выбора свойств объекта значения, который должен быть включен в строку JSON. Если это значение равно null или не указано, все свойства объекта включаются в результирующую строку JSON.

Это синтаксис JSON.stringify функции, его не функция обратного вызова

+0

Что это значит для его случая использования, когда он хочет опустить свойства, ключи которых начинаются с 'SUWDdb.'? –

+0

Результат Var = JSON.stringify (localstorage) –

Смежные вопросы