在前端:1.如果json是List对象转换的,可以直接遍历json,读取数据。

2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示:





1


2


3




​var​​ ​​jsonStr = JSON.stringify(list); ​


​var​​ ​​param= {}; ​


​param.jsonStr=jsonStr; ​



在后台:1.把String转换为List(str转换为list)





1


2


3




​List<T> list = ​​​​new​​ ​​ArrayList<T>(); ​


​JSONArray jsonArray = JSONArray.fromObject(str);​​​​//把String转换为json ​


​list = JSONArray.toList(jsonArray,t);​​​​//这里的t是Class<T> ​



2.把List转换为json





1


2




​JSONArray json = JSONArray.fromObject(object); ​


​String str = json.toString();​​​​//把json转换为String ​



eg:1. 根据页面用户输入的信息形成 Answer 对象的List 





1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34


35


36


37


38


39


40


41


42


43


44


45


46




​/** ​


​* @param answers ​


​* @param question_ids ​


​* @param types ​


​* @return ​


​*/​


​private​​ ​​List<Answer> toAnswerList(String[] studenAnswers, ​​​​int​​​​[] question_ids, ​


​int​​​​[] types,​​​​int​​​​[] scores) { ​


​List<Answer> answerList = ​​​​new​​ ​​ArrayList<Answer>(); ​


 


​if​​​​(studenAnswers!=​​​​null​​ ​​&& question_ids!= ​​​​null​​ ​​&& types!= ​​​​null​​​​&& scores!= ​​​​null​​​​){ ​


​for​​ ​​(​​​​int​​ ​​i = ​​​​0​​​​; i < studenAnswers.length; i++) { ​


 


​Answer answer = ​​​​new​​ ​​Answer(); ​


​String studenAnswer = studenAnswers[i]; ​


​int​​ ​​type = types[i]; ​


​int​​ ​​question_id = question_ids[i]; ​


​int​​ ​​score = scores[i]; ​


 


 


​answer.setQuestion_id(question_id); ​


​answer.setScore(score); ​


​answer.setStudenAnswer(studenAnswer); ​


​answer.setType(type); ​


 


​answerList.add(answer); ​


​} ​


​} ​


​return​​ ​​answerList; ​


​} ​


 


​/** ​


​* 将一个json字串转为list ​


​* @param props ​


​* @return ​


​*/​


​public​​ ​​static​​ ​​List<Answer> converAnswerFormString(String answer){ ​


​if​​ ​​(answer == ​​​​null​​ ​​|| answer.equals(​​​​""​​​​)) ​


​return​​ ​​new​​ ​​ArrayList(); ​


 


​JSONArray jsonArray = JSONArray.fromObject(answer); ​


​List<Answer> list = (List) JSONArray.toCollection(jsonArray, ​


​Answer.​​​​class​​​​); ​


 


​return​​ ​​list; ​


​} ​



2. 将一个 Answer 对象的List 生成Json字串,是根据客户端页面用户输入的信息生成的 





1


2


3


4


5


6


7


8




​public​​ ​​String getAnswerString(String[] studenAnswers, ​​​​int​​​​[] question_ids, ​


​int​​​​[] types,​​​​int​​​​[] scores) { ​


​List list = toAnswerList(studenAnswers, question_ids, ​


​types, scores); ​


​JSONArray jsonarray = JSONArray.fromObject(list); ​


 


​return​​ ​​jsonarray.toString(); ​


​} ​