如何使用PHP或Javascript修复JSON格式字符串

时间:2016-08-04 06:53:50

标签: javascript php json

这就是我所做的。

我从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\"}""}

2 个答案:

答案 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);来防止插入多个斜杠