在前端:
1.如果json是List对象转换的,可以直接遍历json,读取数据。
2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示:var jsonStr = JSON.stringify(list);
var param= {};
param.jsonStr=jsonStr;
在后台:
1.把String转换为List(str转换为list)List list = new ArrayList();
JSONArray jsonArray = JSONArray.fromObject(str);//把String转换为json
list = JSONArray.toList(jsonArray,t);//这里的t是Class
2.把List转换为jsonJSONArray json = JSONArray.fromObject(object);
String str = json.toString();//把json转换为String
eg:
1. 根据页面用户输入的信息形成 Answer 对象的List/**
* @param answers
* @param question_ids
* @param types
* @return
*/
private List toAnswerList(String[] studenAnswers, int[] question_ids,
int[] types,int[] scores) {
List answerList = new ArrayList();
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 converAnswerFormString(String answer){
if (answer == null || answer.equals(""))
return new ArrayList();
JSONArray jsonArray = JSONArray.fromObject(answer);
List list = (List) JSONArray.toCollection(jsonArray,
Answer.class);
return list;
}
2. 将一个 Answer 对象的List 生成Json字串,是根据客户端页面用户输入的信息生成的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();
}
更多JSON的String字符串与Java的List列表对象的相互转换相关文章请关注PHP中文网!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!