您的位置:首页 > 编程语言 > Java开发

JSON的String字符串与Java的List列表对象的相互转换

2016-04-28 08:55 1261 查看

在前端:
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<T> list = new ArrayList<T>();
JSONArray jsonArray = JSONArray.fromObject(str);//把String转换为json
list = JSONArray.toList(jsonArray,t);//这里的t是Class<T>

2.把List转换为json

JSONArray json = JSONArray.fromObject(object);
String str = json.toString();//把json转换为String

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

/**
* @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字串,是根据客户端页面用户输入的信息生成的 

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();
}

 

PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JSON Java