JSON的String字符串与Java的List列表对象的相互转换
发布于 2020-11-26|
复制链接
摘记: 在前端:
1.如果json是List对象转换的,可以直接遍历json,读取数据。
2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示:
```javascript
var jsonStr = JSON.stringify(list);
va ..
在前端:1.如果json是List对象转换的,可以直接遍历json,读取数据。
2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示:
```javascript
var jsonStr = JSON.stringify(list);
var param= {};
param.jsonStr=jsonStr;
```
在后台:
1.把String转换为List(str转换为list)
```java
List list = new ArrayList();
JSONArray jsonArray = JSONArray.fromObject(str);//把String转换为json
list = JSONArray.toList(jsonArray,t);//这里的t是Class
```
2.把List转换为json
```java
JSONArray json = JSONArray.fromObject(object);
String str = json.toString();//把json转换为String
```
eg:
1. 根据页面用户输入的信息形成 Answer 对象的List
```java
/**
* @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 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字串,是根据客户端页面用户输入的信息生成的
```java
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在线工具供大家参考使用: