ajax請求java
參考:https://blog.csdn.net/lutinghuan/article/details/46820023ajax
http://jxd-zxf.iteye.com/blog/2072300json
一、json 字符串轉數組或集合數組
格式:app
[{"jsonContent":"1","url":"http://127.0.0.1:8080/upload/image/201806/c9b59521-9d91-4bb7-bc86-be6d67c114e6.jpg"},{"jsonContent":"2","url":"http://127.0.0.1:8080/upload/image/201806/b487619e-28bc-4ffe-8d65-5e553f6ff799.jpg"},{"jsonContent":"","url":""},{"jsonContent":"","url":""}]post
JSONArray jsonarray = JSONArray.fromObject(invitation.getContent());
List collection = (List) jsonarray.toCollection(jsonarray,InvitationFromJson.class);url
例子1:將表單對象序列化成Json字符串提交spa
var formArray = editForm.serializeArray();
var detailFom = detailgrid.datagrid("getData").rows;
var mainForm = {};
for (var i=0; i<formArray.length; i++) {
mainForm[formArray[i].name] = formArray[i].value;
}
var detailDate = {};//json對象
detailDate.entity = mainForm;//主表
detailDate.ivfDs = detailFom;//明細
var detailDateStr = JSON.stringify(detailDate);//轉json字符串
$.ajax({
url:"/ivf/incubator/save",
type: 'post',
dataType: 'json',
contentType: "application/json; charset=utf-8",
data:detailDateStr,//json字符串
success: function(data){
if(data.result=="sucess"){
$.messager.alert('提示信息:', '保存成功', 'info',function(){
});
}else{
$.messager.alert('提示信息:', data.message, 'error');
}
});.net
參考:https://blog.csdn.net/lishuangzhe7047/article/details/28880009debug
例子2:後臺list接收json字符串,自動封裝實體
$(document).ready(function(){
var saveDataAry=[];
var data1={"userName":"test","address":"gz"};
var data2={"userName":"ququ","address":"gr"};
saveDataAry.push(data1);
saveDataAry.push(data2);
$.ajax({
type:"POST",
url:"user/saveUser",
dataType:"json",
contentType:"application/json",
data:JSON.stringify(saveDataAry),
success:function(data){
});
});
@RequestMapping(value = "saveUser", method = {RequestMethod.POST }})
@ResponseBody
public void saveUser(@RequestBody List<User> users) {
userService.batchSave(users);
}
二、json字符串轉java對象
首先將json字符串轉換爲json對象,而後再解析json對象,過程以下。
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
根據json中的鍵獲得它的值
String name = jsonObject.getString("name");
int num = jsonObject.getInt("num");
String sex = jsonObject.getString("sex");
int age = jsonObject.getInt("age");
將json對象轉換爲java對象
Person jb = (Person)JSONObject.toBean(obj,Person.class);//將建json對象轉換爲Person對象
三、將java對象轉換爲json字符串
先將java對象轉換爲json對象,在將json對象轉換爲json字符串
JSONObject json = JSONObject.fromObject(obj);//將java對象轉換爲json對象
String str = json.toString();//將json對象轉換爲字符串
參考:https://blog.csdn.net/gchb9527/article/details/8688279
彙總:JSON 字符串 與 java 對象的轉換
1. 把java 集合或數組轉換爲json對象數組,並轉爲字符串
JSONArray array = JSONArray.fromObject(list);
String jsonstr = array.toString();
2.把JSON字符串轉換爲JAVA 對象數組
JSONArray json = JSONArray.fromObject(userStr);//userStr是json字符串
List<User> users= (List<User>)JSONArray.toCollection(json, User.class);
3. 把java對象轉換成json對象,並轉化爲字符串
JSONObject object = JSONObject.fromObject(user);
Log4jInit.ysulogger.debug(object.toString());
4.把JSON字符串轉換爲JAVA 對象
JSONObject jsonobject = JSONObject.fromObject(jsonStr);
User user= (User)JSONObject.toBean(object,User.class);
java對象或集合轉json字符串
JSONSerializer.toJSON(obj);
JSONSerializer.toJSON(List);
四、表單序列化
①表單序列化成j數組,再拼接成須要的json字符串
var formArray = $articleForm.serializeArray();
②表單序列化
var formArray = $articleForm.serialize();
後臺實體接收,直接把前臺傳過來的參數寫成對應的實體類,會自動進行封裝
格式:title=222&articleCategoryId=60&cover=&_isPublication=false&publication=true&_isTop=false&publishType=0&pictureContent1=11&url1=&pictureContent2=&url2=&pictureContent3=&url3=&pictureContent4=&url4=&csrfToken=32d129b11f40b41851a0212b6cd0e779