javascript - Converting string to a valid JSON object - Stack Overflow

hey there i saw many questions about this topic but none of them fit my question.i'm trying to us

hey there i saw many questions about this topic but none of them fit my question. i'm trying to use localStorage to store a user custom preferences, i try put an json object into a localStorage key and use it later on. the object at the beginning looks like that:

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

the JSON.parse method returns an error, what i done is that:

var local_storage = getAll();
$.parseJSON(JSON.stringify(local_storage.test.substring(0,0).substring(0,local_storage.length,-1)));

the output is :

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

but i can't use it as local_storage.test.a why is that and what is the solution for that?

thx for the help :)

Edit!

Thanks to @Oli Soproni B, the solution is:

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);

hey there i saw many questions about this topic but none of them fit my question. i'm trying to use localStorage to store a user custom preferences, i try put an json object into a localStorage key and use it later on. the object at the beginning looks like that:

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

the JSON.parse method returns an error, what i done is that:

var local_storage = getAll();
$.parseJSON(JSON.stringify(local_storage.test.substring(0,0).substring(0,local_storage.length,-1)));

the output is :

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

but i can't use it as local_storage.test.a why is that and what is the solution for that?

thx for the help :)

Edit!

Thanks to @Oli Soproni B, the solution is:

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);
Share Improve this question edited Feb 17, 2015 at 9:17 benjah asked Feb 17, 2015 at 8:15 benjahbenjah 6607 silver badges31 bronze badges 2
  • what is local_storage.test.substring(0,0).substring(0,local_storage.length,-1)? – Arun P Johny Commented Feb 17, 2015 at 8:17
  • why are you calling stringify and parse – Arun P Johny Commented Feb 17, 2015 at 8:19
Add a ment  | 

3 Answers 3

Reset to default 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

Localstorage stores string, not object. So you need to convert object to string while storing and converting it to object while retrieving.

To store:

localStorage.setItem("key",JSON.stringify(obj));

To retrieve:

obj = JSON.parse(localStorage.getItem(obj));

See DEMO here.

You used Json.stringify, because you need to store the data into localstorage as a string only.

you need to parse that again to JSON in order to use it as a JSON object,


but not like this

JSON.stringify(local_storage.test.substring(0,0).substring(0,local_storage.length,-1))

This tries to get a substring from your previously stored string, and again tries to stringify it.


You can get the stored string directly like this,

var local_storage = getAll();
var test=JSON.parse(local_storage.test);

And then use, as the test object, as test: {a:"b",c:"d"}

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744734035a4590634.html

相关推荐

  • javascript - Converting string to a valid JSON object - Stack Overflow

    hey there i saw many questions about this topic but none of them fit my question.i'm trying to us

    11小时前
    10

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信