将字符串转换为有效的JSON对象

ben*_*jah 5 javascript jquery json

嘿,我看到很多关于这个话题的问题,但没有一个适合我的问题.我正在尝试使用localStorage存储用户自定义首选项,我尝试将一个json对象放入localStorage键并稍后使用它.开头的对象看起来像这样:

 Object {test: "{a:"b",c:"d"}"}
Run Code Online (Sandbox Code Playgroud)

JSON.parse方法返回一个错误,我所做的是:

var local_storage = getAll();
$.parseJSON(JSON.stringify(local_storage.test.substring(0,0).substring(0,local_storage.length,-1)));
Run Code Online (Sandbox Code Playgroud)

输出是:

{a:"b",c:"d"}
Run Code Online (Sandbox Code Playgroud)

但我不能将它用作local_storage.test.a为什么会这样,解决方案是什么?

thx的帮助:)

编辑!

感谢@Oli Soproni B,解决方案是:

var key = {a:"b",c:"d"};
var l = JSON.stringify(key);
localStorage.setItem('test',l);
var local_storage = $.parseJSON(localStorage.getItem('test'));
console.log(local_storage);
console.log(local_storage.a);
Run Code Online (Sandbox Code Playgroud)

Oli*_* B. 3

// data
    var k = {a:"b", c: "d"};
    // stringify json
    var l = JSON.stringify(k);
    // set item to local storage
    localStorage.setItem('test', l);

    // get item to local storage and parse data
    var local_storage = $.parseJSON(localStorage.getItem('test'));

    console.log(local_storage);

    Object {a: "b", c: "d"}

    console.log(local_storage.a);

    prints b

// or use 
 var local_storage = JSON.parse(localStorage.getItem('test'));
// in parsing the stringify json data
Run Code Online (Sandbox Code Playgroud)