在QQ群或者一些程序的交流平臺,經(jīng)常會有人問:我怎么傳一個數(shù)組在Action中接收、我傳的數(shù)組為什么Action的model中接收不到、或者我在ajax的data中設(shè)置了一些數(shù)組,為什么后臺還是接收不了、還有一些怎么傳送一個復(fù)雜的對象或者Action怎么接收一個復(fù)雜的對象等等這些問題?;蛘哂行┤擞龅綇?fù)雜的對象或者數(shù)組直接就傳送個json字符串,然后在Action中把json字符串轉(zhuǎn)成model對象,當(dāng)然這也是一種做法,但也許不是最優(yōu)的做法。

 

一、需求

按照如圖的數(shù)據(jù)格式,傳入到Action,用一個UserInfo Model接收,需求非常簡單。

萬碼學(xué)堂,電腦培訓(xùn),計算機培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

分析后我們可以看到,其中愛好是個字符串的數(shù)組,用戶包含一個公司對象,然后所包含的公司對象中又有個電話數(shù)組,用戶又包含數(shù)組對象,所以我們的Model應(yīng)該是:

萬碼學(xué)堂,電腦培訓(xùn),計算機培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

public class UserInfo
{    public string Name { get; set; }    public int Age { get; set; }    public string[] Bobbys { get; set; }    public Company Company { get; set; }    public Star[] Star { get; set; }
}public class Company
{    public string Name { get; set; }    public string Address { get; set; }    public string[] Tel { get; set; }
}public class Star
{    public string Name { get; set; }    public int Age&nb