简体   繁体   中英

JSON.parse does not convert Stringified JSON Array

[
  { comicid: "5f55e91271b808206c132d7c", purchasetype: "pb_single" }
]

Above is my JSON Array that is stringified,I tried to JSON.parse and other functions like iterating it in a for loop but the key values also got scrambled.

Is there any way or an npm method that could instantly output the retrieved variable?

var cartItemFromLocalStorage = JSON.parse(localStorage.getItem("cartitem"));
if (cartItemFromLocalStorage != null) {
  console.log("It came defined");

  console.log("This is OG Array: " + cartItemFromLocalStorage);
  let cartItemObject = {
    //set object data
    comicid: this.state.comicId,
    purchasetype: this.state.purchaseType,
  };
  console.log(cartItemObject);
  cartItemFromLocalStorage.push(cartItemObject);
  localStorage.setItem("cartitem", result); //localstorage only supports strings
  toast.success("Item Added to cart");
} 

I checked the consoles and the states are putting up the data correctly.

I'm an extreme beginner in react js, help is much appreciated

The "JSON" you have written is actually JavaScript, not JSON. To convert it JSON use the JSON.stringify function, like so

> JSON.stringify([
  { comicid: "5f55e91271b808206c132d7c", purchasetype: "pb_single" }
]);
'[{"comicid":"5f55e91271b808206c132d7c","purchasetype":"pb_single"}]'

and then replace the value in localStorage with it.

Even easier would be to type into the developer console

localStorage.setItem("cartitem", JSON.stringify([
  { comicid: "5f55e91271b808206c132d7c", purchasetype: "pb_single" }
]));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM