我得到一個JsonString:如何將json字符串轉換爲bean列表?
{
"student[0].firstName":"asdf",
"student[0].lastName":"sfd",
"student[0].gender":"1",
"student[0].foods":[
"Steak",
"Pizza"
],
"student[0].quote":"Enter your favorite quote!",
"student[0].education":"Jr.High",
"student[0].tOfD":"Day",
"student[1].firstName":"sf",
"student[1].lastName":"sdf",
"student[1].gender":"1",
"student[1].foods":[
"Pizza",
"Chicken"
],
"student[1].quote":"Enter your favorite quote!",
"student[1].education":"Jr.High",
"student[1].tOfD":"Night"
}
學生豆:
public class Student {
private String firstName;
private String lastName;
private Integer gender;
private List<String> foods;
private String quote;
private String education;
private String tOfD;
getXxx()...;
setXxx()...;
}
我想用傑克遜的JsonString轉換到列表
其實,我要發佈兩個表單一種形式的內容,使用ajax。 而在SpringMVC處理程序方法中,我想獲得像List或Student []類型的參數,然後直接使用。我希望春天可以解決它,或使用其他util jar做到這一點。
<form action="" method="post">
First Name:<input type="text" name="student[0].firstName" maxlength="12" size="12"/> <br/>
Last Name:<input type="text" name="student[0].lastName" maxlength="36" size="12"/> <br/>
Gender:<br/>
Male:<input type="radio" name="student[0].gender" value="1"/><br/>
Female:<input type="radio" name="student[0].gender" value="0"/><br/>
Favorite Food:<br/>
Steak:<input type="checkbox" name="student[0].foods" value="Steak"/><br/>
Pizza:<input type="checkbox" name="student[0].foods" value="Pizza"/><br/>
Chicken:<input type="checkbox" name="student[0].foods" value="Chicken"/><br/>
<textarea wrap="physical" cols="20" name="student[0].quote" rows="5">Enter your favorite quote!</textarea><br/>
Select a Level of Education:<br/>
<select name="student[0].education">
<option value="Jr.High">Jr.High</option>
<option value="HighSchool">HighSchool</option>
<option value="College">College</option>
</select><br/>
Select your favorite time of day:<br/>
<select size="3" name="student[0].tOfD">
<option value="Morning">Morning</option>
<option value="Day">Day</option>
<option value="Night">Night</option>
</select>
First Name:<input type="text" name="student[1].firstName" maxlength="12" size="12"/> <br/>
Last Name:<input type="text" name="student[1].lastName" maxlength="36" size="12"/> <br/>
Gender:<br/>
Male:<input type="radio" name="student[1].gender" value="1"/><br/>
Female:<input type="radio" name="student[1].gender" value="0"/><br/>
Favorite Food:<br/>
Steak:<input type="checkbox" name="student[1].foods" value="Steak"/><br/>
Pizza:<input type="checkbox" name="student[1].foods" value="Pizza"/><br/>
Chicken:<input type="checkbox" name="student[1].foods" value="Chicken"/><br/>
<textarea wrap="physical" cols="20" name="student[1].quote" rows="5">Enter your favorite quote!</textarea><br/>
Select a Level of Education:<br/>
<select name="student[1].education">
<option value="Jr.High">Jr.High</option>
<option value="HighSchool">HighSchool</option>
<option value="College">College</option>
</select><br/>
Select your favorite time of day:<br/>
<select size="3" name="student[1].tOfD">
<option value="Morning">Morning</option>
<option value="Day">Day</option>
<option value="Night">Night</option>
</select>
<p><input type="submit"/></p>
這是多麼可怕的JSON。您可能需要將JSON反序列化爲普通的HashMap(或JObject或其他,使用您選擇的任何庫),然後適當地操作到DTO中。 – user2864740
可能重複http://stackoverflow.com/questions/9829403/deserialize-json-to-arraylistpojo-using-jackson –
你能改變你收到的JSON嗎?您的JsonString現在代表一個大項目,即{student1,student2},當它應該是n個項目{{{student1},{student2}}}的數組時。 –