这就是我所做的。
我从javascript和JSON.stringify获取localStorage。
document.getElementById("data").value = JSON.stringify(window.localStorage);
然后我将这些数据发送给PHP并使用json_encode将其保存到MYSQL。 我根据评论删除了json_encode。
$data = $_POST["data"];
//Save to database
当我尝试从数据库中获取数据时,它已损坏如下,我无法使用javascript或php进行解析。
"{"UserData10-1":"{\"Ydosiaas\":\"NA\",\"Mpdioasp\":\"NA\"}","UserData1011-1":"{\"Mpdioasp\":\"NA\",\"Ydosiaas\":\"NA\"}","UserData1011-1":"{\"Pdsaousa\":\"NA\",\"Ydosiaas\":\"NA\"}"
任何人都可以帮我弄清楚我做错了什么吗?
提前致谢。
修改
我弄清楚的一件事是,当我尝试在将JSON保存到数据库之前首先解析JSON时,它正在运行。 但是当我尝试从数据库中再次获取它时,解析得到了错误。 现在代码变得如下。但仍无法解析:(
{"UserData882-1":""{\"Ydosiaas\":\"NA\",\"Mpdioasp\":\"Normal, position\"}"","UserData7-2":""{\"Mpdioasp\":\"NA\",\"Ydosiaas\":\"Normal, eq\"}"","UserData7-2":""{\"Tweqas\":\"NA\",\"Ydosiaas\":\"Normal, equ\"}""}
答案 0 :(得分:0)
使用
JSON.stringify(window.localStorage.getItem(' key'))
答案 1 :(得分:0)
如果您的数据存储为本地存储中的有效json对象,则在将其发送到PHP后端之前使用JSON.stringify(data)。
如果你以json的形式返回数据,并且还有其他实体作为响应返回,那么你应该对数据进行json_decode并将其与其余的响应结合起来,然后再对它进行json_encode以使你的响应保持一致。
此外,您可以使用json_encode($response,JSON_UNESCAPED_SLASHES);
来防止插入多个斜杠