timeline.js + MVC +阿賈克斯+ JSON如何字符串轉換成JSON對象
你好,
我有問題,而轉換字符串JSON對象
我要上顯示時間表我的網頁,我已經使用Timeline.js相同,我可以使用以下靜態數據運行時間線
靜態數據
// Create a JSON data table
data = [
{
'start': new Date(2010, 7, 23),
'content': 'Conversation'
},
{
'start': new Date(2010, 7, 23),
'content': 'New Conversation'
},
{
'start': new Date(2010, 7, 23),
'content': 'Very New Conversation'
}
現在,當我做
alert(data);
它給了我
[object Object],[object Object],[object Object]
,但現在我要顯示從一個數據庫中的數據,所以我呼籲控制器
以下功能控制器上的GetTimeLine方法
public JsonResult GetTimeline()
{
JsonResult jr = new JsonResult();
var objtimeline = objEntities.Timelines.Where(tl => tl.StudentID == Sessions.StudentID).ToList().AsQueryable();
String newstr = "[";
foreach(var tml in objtimeline)
{
DateTime date1 = Convert.ToDateTime(tml.CalculatedDate);
newstr += "{'start': new Date("+date1.Year+","+date1.Month+","+date1.Day+","+date1.Hour+","+date1.Minute+","+date1.Second+"),'content':'"+tml.Description+"'},";
}
newstr = newstr.TrimEnd(',');
newstr += "];";
jr.Data = newstr;
jr.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return jr;
}
函數來調用控制器方法
jQuery.ajax({
type: "POST",
url: "@Url.Content("~/Student/GetTimeline")",
success: function (result) {
data = result;
},
});
alert(data);
它給了我下面的警告
[{'start': new Date(2012,2,11,0,0,0),'content':'Parents meeting'},{'start': new Date(2012,2,15,0,0,0),'content':'Exam Meeting'}];
所以這個問題是字符串JSON對象的轉換,
我如何轉換字符串從返回控制器到我查看的Json對象...
我想你需要再看看JSON對象和它們的語法。如果它用Javascript中的'['和']'包裝,它就是一個數組,而不是一個對象(JSON或其他)。 – 2012-04-14 13:13:23
@AnthonyGrist:擁有一個數組作爲頂級對象是有效的JSON。 (然而,引用的字符串不是,沒有那些單引號和那裏的'new Date(...)'。) – 2012-04-14 13:14:33
@TJCrowder它會出現**我是**需要另一個看看語法,然後! – 2012-04-14 13:20:20