Javascript 将对象值从字符串转换为正常值(其原始数据类型)
我有一个这样的物体:Javascript 将对象值从字符串转换为正常值(其原始数据类型),javascript,json,object,Javascript,Json,Object,我有一个这样的物体: obj.first = JSON.parse(obj.first); 设obj={ 第一个:{\n名称:\Todo名称\,\n位置:\New York NY USA\,\n到期日期:\9am\,\n图形类型:\icon\,\n图标:\fa school\,\n img:null,\n表情符号:null\n}, 第二个:{\n名称:\Todo name2\,\n位置:\New York NY USA\,\n到期时间:\9am\,\n图形类型:\icon\,\n图标:
obj.first = JSON.parse(obj.first);
设obj={
第一个:{\n名称:\Todo名称\,\n位置:\New York NY USA\,\n到期日期:\9am\,\n图形类型:\icon\,\n图标:\fa school\,\n img:null,\n表情符号:null\n},
第二个:{\n名称:\Todo name2\,\n位置:\New York NY USA\,\n到期时间:\9am\,\n图形类型:\icon\,\n图标:\fa school\,\n img:null,\n表情符号:null\n}
}
问题是第一个对象中的对象是字符串,而不是整个对象obj,因此我无法使用JSON.parse将其恢复为普通对象
现在的问题是,我如何才能只将值转换回普通对象?如果obj.first是一个有效的JSON字符串,您可以将其转换回如下对象:
obj.first = JSON.parse(obj.first);
同样的道理也适用于obj.second。您发布了正确的对象吗?这会导致引号的位置出现语法错误↵ 看起来像一条线。请从编辑器中添加代码,不是从控制台。@AnuragSrivastava请在我添加code@NinaScholz…之所以会这样,是因为我从localStorage复制了对象,所以它会自动将这些换行符放入其中。问题是:-它说对象已经不是字符串,所以我无法两次解析它。对象是如何结束的像那样?您是从其他地方收到的,还是您自己创建的对象?我自己创建的,但问题是我正在从本地存储检索它,这就是为什么会这样。@HusseinAl Mosawi我仍然不明白它是如何结束的。您能否更新该问题以显示您是如何将其保存到localStorage的?我将尝试使用不同的方法解决该问题。无论如何,谢谢你。如果我成功了,我将在这里添加答案,让其他人从中受益。再次非常感谢