我得到一个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}}}的数组时。 –