利用fastjson进行转换
Java对象转JSON字符串:
转成JSON字符串后响应给前端,利用response.getWriter().print();方法响应。
DepartmentService service = new DepartmentServiceImpl();
ArrayList list = service.query();
String jsonStr = JSON.toJSONString(list);
PrintWriter out = response.getWriter();
out.print(jsonStr);
out.flush();
out.close();
带有Data字段的Java对象转Json字符串:
响应同上
String jsonStr = JSON.toJSONStringWithDateFormat(notes, "yyyy-MM-dd",
SerializerFeature.WriteDateUseDateFormat);
PrintWriter out = response.getWriter();
out.print(jsonStr);
out.flush();
out.close();
JSON字符串转Java对象:
利用eval转,转后就可以用 . 方法点出需要的属性。
var data = eval('(' + data + ')');
自己写方法转
转换单个对象为JSON,如:{"name":"liming","gender":"男","age":"20"},:
private String toJson(Category category){
StringBuilder json = new StringBuilder("{");
json.append("\"cid\"").append(":").append("\"").append(category.getCid()).append("\"");
json.append(",");
json.append("\"cname\"").append(":").append("\"").append(category.getCname()).append("\"");
json.append("}");
return json.toString();
}
转换对象数组为JSON,如:[{"":""},{"":""},{"":""}]:
private String toJson(List<Category> cateList){
StringBuilder json = new StringBuilder("[");
int i = 0;
for(i=0;i<cateList.size()-1;i++){
json.append(this.toJson( cateList.get(i) )).append(",");
}
json.append(this.toJson( cateList.get(i) ));
json.append("]");
return json.toString();
}
Ajax请求使用JSON作为返回数据的类型:
$.ajax({
async : true, //异步请求
cache : false, //不获取缓存中的数据,获取服务端最新返回的数据
url : "/bookstore/BookServlet",
data : { //请求参数
method : "ajaxFindChildren",
pid : pid
},
type : "POST", //请求类型
dataType : "json", //返回数据的数据类型,也就是下方arr的数据类型
success : function(arr) { //请求成功后的回调函数,arr就是一个json格式的对象或者对象数组
}
});
以下转自:https://blog.csdn.net/harryptter/article/details/54575577
1.简单的解析json字符串
首先将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");
2.将json字符串转换为java对象
同样先将json字符串转换为json对象,再将json对象转换为java对象,如下所示。
JSONObject obj = new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象
将json对象转换为java对象
Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象
3.将java对象转换为json字符串
先将java对象转换为json对象,在将json对象转换为json字符串
JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象
String str = json.toString();//将json对象转换为字符串