[英]SyntaxError: JSON.parse: unexpected character
I'm having a problem. 我有问题 I have a json code as below.
我有一个JSON代码如下。 I want to parse them but get an error: SyntaxError: JSON.parse: unexpected character I don't know where is the error.
我想解析它们,但收到错误:SyntaxError:JSON.parse:意外的字符,我不知道错误在哪里。 Would anyone help?
有人帮忙吗?
My js code: 我的js代码:
function retreive() {
var userInfo = new Array();
userInfo[0] = $("#contactId").val();
userInfo[1] = $("#pw").val();
var cId = $.ajax({
url: "server.php",
type: "POST",
data: {phpData : userInfo},
datatype: "json",
success:function(msg) {
responseJson = JSON.parse(msg.responseText);
var outputHtml = "";
for (var i=0; i<responseJSON.user.mary.length; i++) {
outputHtml += responseJSON.user.mary[i].sender[i].sendDate +
", " + responseJSON.user.mary[i].sender[i].time +
", " + responseJSON.user.mary[i].sender[i].timezone +
", " + responseJSON.user.mary[i].sender[i].message + "<br/>"}
divMessage = document.getElementById("message");
divMessage.innerHTML = outputHtml;
}
});
} }
my php code: 我的php代码:
$data = '{
"user" :
[
{
"mary" :
[
{
"sender1" :
[
{
"sendDate" : "2012-01-13",
"time" : "15:00:21",
"timezone" : "Asia/Hong_Kong",
"message" : "hi"
},
{
"sendDate" : "2012-01-18",
"time" : "16:00:01",
"timezone" : "Asia/Hong_Kong",
"message" : "how are you"
},
{
"sendDate" : "2012-01-21",
"time" : "14:31:42",
"timezone" : "Asia/Hong_Kong",
"message" : "good"
}
],
"sender2" :
[
{
"sendDate" : "2012-01-14",
"time" : "09:01:25",
"timezone" : "Asia/Hong_Kong",
"message" : "good morning"
},
{
"sendDate" : "2012-01-14",
"time" : "09:03:41",
"timezone" : "Asia/Hong_Kong",
"message" : "where are you"
},
{
"sendDate" : "2012-01-14",
"time" : "09:05:42",
"timezone" : "Asia/Hong_Kong",
"message" : "me too"
}
],
}
],
"peter" :
[
{
"sender1" :
[
{
"sendDate" : "2012-01-13",
"time" : "10:44:28",
"timezone" : "Asia/Hong_Kong",
"message" : "hey man"
},
{
"sendDate" : "2012-01-13",
"time" : "10:46:11",
"timezone" : "Asia/Hong_Kong",
"message" : "what are you doing"
},
{
"sendDate" : "2012-01-13",
"time" : "10:48:33",
"timezone" : "Asia/Hong_Kong",
"message" : "nice"
}
],
"sender3" :
[
{
"sendDate" : "2012-01-18",
"time" : "14:23:58",
"timezone" : "Asia/Hong_Kong",
"message" : "Had you send the file to me"
},
{
"sendDate" : "2012-01-18",
"time" : "15:01:39",
"timezone" : "Asia/Hong_Kong",
"message" : "i have not receive yet"
},
{
"sendDate" : "2012-01-19",
"time" : "09:08:32",
"timezone" : "Asia/Hong_Kong",
"message" : "received"
},
],
}
],
}
],
}';
echo $data;
Well, like the error says, your JSON is invalid. 嗯,就像错误所言,您的JSON无效。
http://jsonlint.com/ http://jsonlint.com/
Constructing JSON manually is a really bad idea. 手动构造JSON是一个非常糟糕的主意。 It's far harder to construct, and you're prone to parse errors.
构造起来要困难得多,而且您很容易解析错误。 Instead, build your data programmatically as an array or object then use
json_encode()
. 而是以编程方式将数据构建为数组或对象,然后使用
json_encode()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.