如何用Javascript把json字符串转换为对象?字符串见问题补充

"{ \"MicroBlogs\": [{\"Sender\":\"sender28\",\"SenderID\":0,\"Content\":\"content28\"}]}"

貌似eval方法不行啊,这里面都是\斜杠
"{ \"MicroBlogs\": [{\"Sender\":\"sender28\",\"SenderID\":0,\"Content\":\"content:28\",\"Sendtime\":\"\\/Date(-62135596800000)\\/\"}{\"Sender\":\"sender29\",\"SenderID\":0,\"Content\":\"content:29\",\"Sendtime\":\"\\/Date(-62135596800000)\\/\"}{\"Sender\":\"sender30\",\"SenderID\":0,\"Content\":\"content:30\",\"Sendtime\":\"\\/Date(-62135596800000)\\/\"}{\"Sender\":\"sender31\",\"SenderID\":0,\"Content\":\"content:31\",\"Sendtime\":\"\\/Date(-62135596800000)\\/\"}]}"

以上是data.d中的完整数据

××××××××××××××××××××××
错误代码:
var MicroBlogs = eval("MicroBlogs = " + data.d);
return MicroBlogs['0'].Sender;
怎么才能取出里面的一个个对象及其属性的值啊??

"{ \"MicroBlogs\": [{\"Sender\":\"sender28\",\"SenderID\":0,\"Content\":\"content:28\",\"Sendtime\":\"\\/Date(-62135596800000)\\/\"}{\"Sender\":\"sender29\",\"SenderID\":0,\"Content\":\"content:29\",\"Sendtime\":\"\\/Date(-62135596800000)\\/\"}{\"Sender\":\"sender30\",\"SenderID\":0,\"Content\":\"content:30\",\"Sendtime\":\"\\/Date(-62135596800000)\\/\"}{\"Sender\":\"sender31\",\"SenderID\":0,\"Content\":\"content:31\",\"Sendtime\":\"\\/Date(-62135596800000)\\/\"}]}"
如果返回的是这字符串的话,应该是有问题的,[]中的不是数组,每个sender之间少了逗号,应该返回这样的才正确
{\"Sender\":\"sender28\",\"SenderID\":0,\"Content\":\"content:28\",\"Sendtime\":\"\\/Date(-62135596800000)\\/\"},{\"Sender\":\"sender29\",\"SenderID\":0,\"Content\":\"content:29\",\"Sendtime\":\"\\/Date(-62135596800000)\\/\"}
应该是.NET 的webservice返回的数据吧,这样写

var MicroBlogs = eval("(" + data.d + ")");

return MicroBlogs.MicroBlogs[0].Sender;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-19
eval 肯定可以的
比如你想给 a 赋值这个变量,就把 “a=” 和这个字符串连接起来,然后 eval
反斜杠只是转义符,很正常追问

eval还是不行啊 具体咋写啊?

怎么写啊?

相似回答