博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中JSON字符串与java对象的互换实例详解
阅读量:7114 次
发布时间:2019-06-28

本文共 2098 字,大约阅读时间需要 6 分钟。

转自:https://blog.csdn.net/aa23252658787/article/details/53380403

在前端:

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

转载于:https://www.cnblogs.com/sharpest/p/8378447.html

你可能感兴趣的文章
C、C++中嵌入python (vs2017)
查看>>
30天提升技术人的写作力-第十二天
查看>>
python问题:IndentationError:expected an indented blo
查看>>
用vs2013编译gtest出现无法找到windows.h解决方法
查看>>
SCOM的基本概念的理解&警报的处理
查看>>
我的友情链接
查看>>
Windows 2012 - Dynamic Access Control 浅析
查看>>
Powershell 比较AD和Exchange的用户登录时间
查看>>
linux系统组成之小型RedHat little linux制作四
查看>>
我的友情链接
查看>>
How to Calculate Network and Broadcast Address
查看>>
通过7个python函数理解区块链
查看>>
Elasticsearch常用操作API
查看>>
Ambari 增加新的stack示例
查看>>
我的友情链接
查看>>
cisco路由器启动过程
查看>>
Redis实战(6)数据类型四Sets
查看>>
面向对象程序设计
查看>>
怎么样学好编程
查看>>
[HCNA Cloud]云计算解决方案
查看>>