2013-10-17 57 views
0

我试图解析这个文本从服务器意外的标记JSON.parse

var s = "{\"server\":DSL01,\"item\":101,\"data\":[[1357849366000,null],[1357849485000,null]}"; 
JSON.parse(s); 

未来在控制台中我得到以下错误, 意外标记d

我需要将其转换成JSON对象。

+1

这是一个JSON字符串。你的意思是你想要一个JavaScript对象。如果它没有通过[JSONLint](http://jsonlint.com/),它可能不是有效的JSON。 – tadman

回答

3

因为DSL01应该是一个字符串,因此包裹在""

"{\"server\":\"DSL01\",\" 

此外,您在最后一部分缺乏],关闭data阵列。

我建议你编程创建你的JSON而不是手工制作它。这样,你不会犯这样的错误。

+0

我现在无法将其作为字符串。这是服务器返回的内容。任何选择? – lostpacket

+3

您的服务器正在返回垃圾。如果你无法修复服务器,那么在'JSON.parse'可以处理它之前,你必须手动修复并手动修复它。 – tadman

+0

@lostpacket你不能通过吹更多的空气来修理爆胎。修复服务器以解决此问题。 – Joseph