1. 程式人生 > >使用JSON傳遞接收集合,物件map for json,json for java

使用JSON傳遞接收集合,物件map for json,json for java

//傳送方
public static void main(String[] args) {
		String mobiles = "15810022404";
		String content = "傳送遠端API測試簡訊。。。";
		boolean needReport = true;
		String xcode="01201112";//01為各平臺簡訊子號,201112為流水號(000000-999999)
		String uname = "tudou";
		content = EncryptUtils.encodeBufferBase64(content.getBytes());// base64編碼,防止亂碼
		String sendtime = DateUtils.getNowTime();
		uname = EncryptUtils.encodeBufferBase64(uname.getBytes());
		Map<String, Object> map=new HashMap<String, Object>();//使用Map集合
		
		map.put("uname", uname);
		Send s=new Send();
		s.setContent(content);
		s.setStarttime(DateUtils.parseDate(sendtime));
		s.setMobile(mobiles);
		s.setNeedReport(needReport);
		s.setXcode(xcode);
		map.put("data", s);//將物件放入Map
		String md5 = MD5Utils.getInstance().getMD5ofStr(JSON.toJSONString(s)+MD5Utils.k1);
		map.put("md5", md5);
		new SmsSendTest().testSendSms(JSON.toJSONString(map));//直接將Map轉換成JSON傳遞
	}
接收方:
public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		String json = request.getParameter("json").toString();
		JSONObject jo = JSON.parseObject(json);
		String md5 = jo.getString("md5");
		String data = jo.getString("data");
		System.out.println(data);
		Send send = JSON.parseObject(data, Send.class);
		String content = new String(EncryptUtils.decodeBufferBase64(send
				.getContent()));
		String uname = jo.getString("uname");
		String upwd = jo.getString("upwd");
		uname = new String(EncryptUtils.decodeBufferBase64(uname));
		boolean needReport = send.isNeedReport();

一個JSON封裝資料的例子:

public String getModules(int todo, int offset, int pageSize, int total,
			int moduleNo) {
		total = getAllModules(todo, 0, 1, moduleNo).getTotal();
		int maxPage = total % pageSize == 0 ? total / pageSize : total/ pageSize + 1;
		if (offset < 0) {
			offset = 0;
		} else if (offset >= maxPage) {
			offset = maxPage - 1;
		}
		PageModel pm = getAllModules(todo, offset * pageSize, pageSize,moduleNo);
		List<Menu> list = pm.getDatas();
		JSONObject json = new JSONObject();
		try {
			JSONArray members = new JSONArray();
			if (list != null && list.size() > 0) {
				for (int i = 0; i < list.size(); i++) {
					JSONObject member = new JSONObject();
					member.put("menuId", list.get(i).getMenuId());
					member.put("menuNo", list.get(i).getMenuNo());
					member.put("parentNo", list.get(i).getParentNo());
					member.put("menuName", list.get(i).getMenuName());
					member.put("linkURL", list.get(i).getLinkURL());
					member.put("description", list.get(i).getDescription());
					members.add(i, member);
				}
				json.put("offset", offset);
				json.put("maxPage", maxPage - 1);
				json.put("total", total);
				json.put("menus", members);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return json.toString();
	}

在js中用ajax呼叫並顯示:

function jsonview() {
	var total = $("total1").innerHTML;
	var offset = $("offset1").value;
	var pageSize = 5;
	menuDao.getModules(1,offset, pageSize, total, wirteHtml);
}
function wirteHtml(data) {
	var data = eval("(" + data + ")");// 使用eval函式
	var continents = data.menus;
	$("offset1").value = data.offset;
	$("maxPage1").value = data.maxPage;
	$("maxPage2").innerHTML = data.maxPage + 1;
	$("total1").innerHTML = data.total;
	$("curpage").innerHTML = data.offset + 1;
	var tab = $("mytables");
	var num = tab.rows.length;
	for ( var i = 0; i < num; i++) {
		if (tab.rows.length != 2) {
			tab.deleteRow(tab.rows.length - 2);
		}
	}
	for ( var i = 0; i < continents.length; i++) {
		var newLine = tab.rows.length;
		var row = tab.insertRow(newLine - 1);
		if (i % 2 != 0) {
			row.className = "odd";// 奇數行
			row.onmouseout = function() {
				this.className = "odd";
			}
		} else {
			row.className = "even";// 偶數行
			row.onmouseout = function() {
				this.className = "even";
			}
		}
		row.onmouseover = function() {
			this.className = "alt";
		}
		row.insertCell(0).innerHTML = "<input style=\"width:20px;\" type=\"radio\" name=\"rdoId\" value=\""
		+ continents[i].menuNo+ "\" title=\""+ continents[i].menuName+ "\" />";
		row.insertCell(1).innerHTML = continents[i].menuNo;
		row.insertCell(2).innerHTML = continents[i].menuName + " ";
		if(continents[i].description==''){
			row.insertCell(3).innerHTML = '暫無說明';
		}
		else{
			row.insertCell(3).innerHTML = continents[i].description;
		}
	}
}



相關推薦

使用JSON傳遞接收集合物件map for json,json for java

//傳送方 public static void main(String[] args) { String mobiles = "15810022404"; String content =

關於spring MVC 返回集合物件自動轉成json串的問題

關於springMVC中使用@responseBody標籤後返回集合、物件自動轉成json的問題給出兩點解決方案。 1. <mvc:annotation-driven /> springMVC配置檔案中加入上述標籤引入 <dependency> &

[Android開發] Json解析工具類一個類搞定Json的解析

一、簡介 利用遞迴的方式反射解析到bean裡面 二、詳細程式碼 1、 Json格式 例如伺服器指定規定json格式為: { "code": "……" , // 返回代號,預留欄位,預設返回null "type":"ER

JSON型別資料轉換為物件,並排除指定的屬性.JAVA將購物車資料寫入到cookie中

public void addCart(HttpServletRequest request, HttpServletResponse response, Long skuId, Integer quantity) { //獲取所有co

js中傳遞json到後臺轉成物件物件中有集合 /或者轉成集合

String escapeHtml=StringEscapeUtils.unescapeHtml(jsonStr); System.out.println("escapeHtml=="+escapeH

ajax-傳遞map集合springboot接收引數

一,需求如下 1.前端js封裝map物件,通過ajax發起請求,後端通過springboot進行引數的處理 二,js前端資料結構,其中id為業務中的指標編號 var map = {}; var obj = { leaderId : leaderId,

FastJson的學習之JSON互相轉Map集合List集合JavaBean

https://blog.csdn.net/weixin_36910300/article/details/79182120 建立兩個實體類 一個是部門類,一個是部門員工類 部門員工類 public class Person { private Integer id; priv

Json中遍歷物件或者集合簡單的實現

後臺 從資料庫獲取的物件,或者集合,一一儲存在map中 function infoView(id,state){            $.ajax({ type: 'POS

JAVA——利用Map集合再複雜的JSON資料轉換都不慌!

在我們悲催的碼農開發過程中百分百會接觸到Json資料,並且有時候還需要把JSON資料轉換成JAVA物件,簡單的JSON資料轉換成JAVA物件很簡單,簡單的JSON資料可能只需要兩個JAVA類,一個接收最外層的資料,一個接收集合,但是對於複雜的JSON,有很多層而且不規則,那麼再用這種方法一個個轉

spring controller介面中用pojo物件接收頁面傳遞的引數發現spring在對pojo物件賦值時有一定順序的問題

1、我的專案中的實體類都繼承了基類entityBase,裡面封裝了分頁的一些屬性,pageindex、pagesize、pagerownum等。 2、思路是頁面可以靈活的傳遞分頁引數,比如當前頁pageindex=1、每頁總數pagesize=6等靈活請求資料。然後可以根據當前頁pageindex的賦值,來

Ajax+json 前後臺互動以及Map集合通用查詢

1. jackson Jackson是一個簡單基於Java應用庫,Jackson可以輕鬆的將Java物件轉換成json物件 和xml文件,同樣也可以將json、xml轉換成Java物件 fastjson/jackson/goso javaBean與Map集合轉換

Ajax+json 前後臺互動以及Map集合通用查詢.

jackson Jackson是一個簡單基於Java應用庫,Jackson可以輕鬆的將Java物件轉換成json物件 和xml文件,同樣也可以將json、xml轉換成Java物件 fastjson/jackson/goso javaBean與Map集合轉換成j

springmvc接收集合引數集合物件

Spring MVC在接收集合請求引數時,需要在Controller方法的集合引數裡前新增@RequestBody或者@RequestParam,而@RequestBody預設接收的enctype (MIME編碼)是application/json,因此傳送POST請求時需要

Java後臺跳轉到前端頁面傳遞字串陣列前端接收轉成陣列物件

1、後臺使用JFinal 框架:     setAttr("list",JsonKit.toJson(page));  //這裡使用JsonKit先將集合轉成json,這樣傳到前臺就會是標準的 key,value都帶有    // 雙引號的字串, 如果直接放入集合沒轉成j

Java中把物件物件bean、list集合物件陣列、Map和Set以及字串轉換成Json

把Java對常用的一些資料轉換成Json,以便前臺的呼叫. 物件轉換為Json public class ConvertJson { /** * 物件轉換為Json * @param obj * @

springbean的詳細配置裝配物件集合map

xml測試文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org

android中傳遞複雜引數activity之間和fragment之間的bundle傳遞集合/物件

       在Android開發中,Activity之間通過Intent使用bundle,fragment之間和Activityty通過setArguments使用bundle,對於一些簡單的引數傳遞比較簡單,而且方式也有多種,這個就不介紹了。在這裡介紹一下複雜的引數傳遞

Android Activity之間實現資料(物件物件集合)傳遞

Android Activity之間實現資料傳遞是一項非常重要的技術,今天我就來講一講如何實現資料傳遞: 1.基本資料傳遞 MainActivity.java Intent intent=new Intent(this,ThinkActivity.cla

es6 學習筆記 -- 常量標籤模板Number物件 判斷物件,陣列 字元 是否存在某個屬性元素字元 for of set物件 map物件

定義常量 const T = '我是一個常量,常量是一旦定義不能修改的'; console.log(T)//我是一個常量,常量是一旦定義不能修改的 標籤模板 ``   let divId = 'div'; let divText = 'div 文字' let

JSON物件進行傳遞需要先轉化為json

如果一個String msg =“123”。定義好以後,需要轉化為json進行傳遞,不能直接採用JSON.parseJsonString(msg),進行轉化為json格式,這樣會出現生成一個物件的情況。 正確的做法是,先把String轉化為json物件,在轉化為jsonSt