Javascript JSON.parse不转换字符串化的JSON数组 [ {comicid:“5f55e91271b808206c132d7c”,采购类型:“pb_单一”} ]
上面是我的字符串化JSON数组,我尝试了JSON.parse和其他函数,比如在for循环中迭代它,但是键值也被打乱了 是否有任何方法或npm方法可以立即输出检索到的变量Javascript JSON.parse不转换字符串化的JSON数组 [ {comicid:“5f55e91271b808206c132d7c”,采购类型:“pb_单一”} ],javascript,arrays,json,reactjs,Javascript,Arrays,Json,Reactjs,上面是我的字符串化JSON数组,我尝试了JSON.parse和其他函数,比如在for循环中迭代它,但是键值也被打乱了 是否有任何方法或npm方法可以立即输出检索到的变量 var cartItemFromLocalStorage=JSON.parse(localStorage.getItem(“cartitem”); if(cartItemFromLocalStorage!=null){ log(“它来定义”); log(“这是OG数组:“+cartItemFromLocalStorage”);
var cartItemFromLocalStorage=JSON.parse(localStorage.getItem(“cartitem”);
if(cartItemFromLocalStorage!=null){
log(“它来定义”);
log(“这是OG数组:“+cartItemFromLocalStorage”);
让cartItemObject={
//设置对象数据
comicid:this.state.comicid,
purchasetype:this.state.purchasetype,
};
log(cartItemObject);
cartItemFromLocalStorage.push(cartItemObject);
setItem(“cartitem”,result);//localStorage仅支持字符串
toast.success(“添加到购物车的物品”);
}
我检查了控制台,各州都正确地显示了数据
我是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”,采购类型:“pb_单一”}
]));
您的输入看起来不像JSON,JSON需要“
s左右键将其粘贴到jsonlint.com之类的JSON验证器中,它将向您确认它无效以下行中的result
是什么:localStorage.setItem(“cartitem”,result)
?很抱歉,从那以后它一直在显示,谷歌控制台一直显示为一个对象,而不是真正的对象,我只是在应用程序选项卡上找到它。谢谢