2015-06-28 21 views
1

我發送列表從我的ASP.NET的WebMethod到我的javascript多個列表返回使用本使用JSON和序列化

function onSuccess(val) { 
     var obj = JSON.parse(val) 
     obj.forEach(function (entry) { 
       console.log(entry); 
     }); 
} 

一切正常。但是現在我要返回多個列表,如:使用我之前使用的相同的機制

List<Person> plist = new List<Person>(); 
List<Car> carlist = new List<Car>(); 
List<Car> jeeplist = new List<Car>(); 

。我如何插入兩個列表到串行器並從我的JS打印它們?

編輯

我如何從JS值是多少?這是這樣嗎?

obj.forEach(function (entry) { 
     entry.forEach(function (act) 
     { 
       console.log(act); 
     }) 
}); 

回答

5
struct TwoLists 
{ 
    public List<Person> plist; 
    public List<Car> carlist; 
} 

...

TwoLists lists; 
lists.plist = new List<Person>(); 
lists.carlist = new List<Car>(); 
... 
string json = ""; 
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 
json = oSerializer.Serialize(lists); 

return json; 

...

function onSuccess(val) { 
    var obj = JSON.parse(val); 
    obj.plist.forEach(function (entry) { 
     console.log(entry); 
    }); 
    obj.carlist.forEach(function (entry) { 
     console.log(entry); 
    }); 
} 
+0

謝謝配合! – Dinuka

+0

我需要通過2個以上的列表,這可能嗎? – Dinuka

+0

您可以根據需要傳遞任意數量的列表或其他數據結構。 –