在用JAVA與小程序聯(lián)合開發(fā)項目能很好的進行前后端開發(fā),
- 小程序端負責(zé)頁面的邏輯,交互以及跳轉(zhuǎn)等,
- JAVA后臺負責(zé)數(shù)據(jù)的處理,接口的編寫,業(yè)務(wù)的封裝等。
在項目中數(shù)據(jù)主要以JSON的格式進行傳輸,因此JAVA在后臺處理時常常需要對JSON對象進行解析來獲取特定數(shù)據(jù)
在小程序中的JSON數(shù)據(jù)轉(zhuǎn)換
- 1.JSON.stingify()可以將json對象轉(zhuǎn)換為json格式字符串
- 2.JSON.parse()可以將json格式的字符串轉(zhuǎn)換為json對象
var a1 = "aa";
var a2 = 22;
var a3 = 33;
var arr = {"01": a1, "02": a2, "03": a3};
var arrJosn = JSON.stringify(arr);
//json對象轉(zhuǎn)換為json格式的字符串
console.log(arrJosn);
//json格式的字符串轉(zhuǎn)化為json格式
var jsonObject = JSON.parse(arrJosn);
console.log(jsonObject);
控制臺輸出結(jié)果為

輸出結(jié)果
在JAVA后端解析JSON數(shù)據(jù)
在后臺一般需要取特定數(shù)據(jù)或進行數(shù)據(jù)庫的CRUD操作,因此需要對數(shù)據(jù)進行解析
List轉(zhuǎn)JSONArray :JSONArray ja = JSONArray.fromObject(list)
Map轉(zhuǎn)JSONArray:JSONArray ja = JSONArray.fromObject(list)
JavaBean轉(zhuǎn)JSONArray:JSONObject jo =
JSONObject.fromObject(newJavaBean())String轉(zhuǎn)JSONObejct:JSONObject jo =JSONObject.fromObject(str)
String轉(zhuǎn)JSONArray:JSONArray ja = JSONArray.fromObject(str)
例子:后臺解析小程序傳入的json對象數(shù)組
小程序代碼
var that = this
var address = {"city": "GuangZhou","Province":"GuangDong","Country":"China"}
var ordersArray = [{"id": 1, "name": "user1"},{"id": 2, "name": "user2"}]
that.setData({ address: address, ordersArray: ordersArray})
wx.request({
url: 'http://localhost:8080/orders/getOrder',
data:{
openid:"test1",
address: that.data.address,
ordersArray: that.data.ordersArray
},
method:"GET",
success:(res)=>{
console.log(res.data)
}
})
后臺代碼為
@RequestMapping("/getOrder")
@ResponseBody
public String getOrder(@Param("openid") String openid,@Param("address") String address,
@Param("ordersArray") String ordersArray){
System.out.println(openid);
System.out.println(address);
System.out.println(address);
//把json對象數(shù)組轉(zhuǎn)換為普通數(shù)組
JSONArray ja = JSONArray.parseArray(ordersArray);
System.out.println(ja);
System.out.println(ja.size());
//取該數(shù)組第一個對象
System.out.println(ja.get(0));
//把json對象轉(zhuǎn)換為普通對象
JSONObject jo = JSONObject.parseObject(address);
System.out.println(jo);
System.out.println(jo.size());
//根據(jù)key值為city取其值
System.out.println(jo.get("city"));
return "success";
}
通過上面例子可把json對象數(shù)組轉(zhuǎn)換為普通數(shù)組,把json對象轉(zhuǎn)換為普通對象來獲取到我們需要值,實現(xiàn)起來也很簡單啦