Java对象与JSON字符串的互转

 

利用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对象转换为字符串

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值