代码中有这么一句,是后台的封装数据。
常见的java代码转换成json
--请注意,这个方法曾经给我造成过困惑。因为,它在对Object转换的时候是按照domain类中的所有getXXX()方法进行转换的。如果你在类中写了非属性的getXXX()方法,那么返回给你的就会有XXX属性了。
--使用net.sf.json.*下的类(jar包是json-lib-x.x.jar)
1. List集合转换成json代码
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray2 = JSONArray.fromObject( list );
2. Map集合转换成json代码
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" });
map.put("func", "function(i){ return this.arr[i]; }");
JSONObject json = JSONObject.fromObject(map);
-----------
Map<String, Object> dataMap =
JSONObject jsonObj = new JSONObject(dataMap);
jsonObj.toJavaObject(ReturnDataModel.class)
object转json
JSONObject data = JSON.parseObject(JSON.toJSONString(returnDataModel.getData()));
3. Bean转换成json代码
JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
4. 数组转换成json代码
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
5. 一般数据转换成json代码
JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );
//获取数组中json的每个值
JSONArray array = JSONArray.fromObject(accountInfoData);
for(int i = 0; i < array.size(); i++){
String accoInfoId = array.getJSONObject(i).getString("accoId");
params.put("accoInfoId", accoInfoId);
}
JSONArray jsonArray = JSONArray.fromObject(accoInfo);
Set<Long> accoIdList = new HashSet<Long>();
String archiveStatus = null;
String operationFlag = null;
resultMap.put("code", "1");
for(int i = 0; i < jsonArray.size(); i ++) {
JSONObject jo = jsonArray.getJSONObject(i);
archiveStatus = jo.getString("archiveStatus");
Long accoId = jo.getLong("accoId");
accoIdList.add(accoId);
operationFlag = jo.getString("operationFlag");
}