繁体   English   中英

JSON.parse 不转换字符串化的 JSON 数组

[英]JSON.parse does not convert Stringified JSON Array

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

上面是字符串化的 JSON 数组,我尝试使用 JSON.parse 和其他函数,例如在 for 循环中对其进行迭代,但键值也被打乱了。

有什么方法或 npm 方法可以立即输出检索到的变量吗?

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

我检查了控制台,状态正确地放置了数据。

我是 react js 的极端初学者,非常感谢帮助

您编写的“JSON”实际上是 JavaScript,而不是 JSON。 要转换它 JSON 使用JSON.stringify函数,像这样

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

然后用它替换 localStorage 中的值。

更容易的是在开发者控制台中输入

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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