码迷,mamicode.com
首页 > 编程语言 > 详细

Java处理Json数据

时间:2016-07-12 19:47:41      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:java   javascript   字符串   

    JSON结构有两种结构: 

    json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。

    1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。

    2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

   经过对象、数组2种结构就可以组合成复杂的数据结构了。

    不同的Json可以使用不同的处理方法以简化步骤,以下举例说明各类处理方法。

    首先添加json-lib-2.4-jdk15.jar包,同时添加其他五个所需的包:

    commons-beanutils-1.8.0.jar

    commons-collections-3.1.jar

    commons-lang-2.5.jar

    commons-logging-1.1.1.jar

    ezmorph-1.0.6.jar

    

    在不知道json数据中键的情况下可将json数据转化为map数据进行处理:

    var requestjson = {

         "key1" : ["data1","data2","data3","data4"],

         "key2" :["data1","data2","data3","data4"],

         "key2" :["data1","data2","data3","data4"],

          ....

    }

    var jsondata = {

        "jsondata" : requestjson

}

    前台ajax代码

$.ajax({
	url : "AjaxServlet",
	type : "POST",
	data : jsondata,
	success : function(responseText, textStatus){
		$("#resText").text(responseText);
	},
	error : function(){
		alert("error");
	}
});


以下函数列举了一个从前台通过ajax传送到后台servlet的json数据处理方法,由于后台接受数据后不知道确切的key值,所以前台发送前将requestjson数据封装成一个键值对的数据。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	String data = request.getParameter("jsondata");
	//解析json数据
	JSONObject jsonData = JSONObject.fromObject(data);
	Map<String, Object> map = jsonData;
	  
	response.setContentType("text/html");
	PrintWriter writer = response.getWriter();
	
	for (Entry<String, Object> entry : map.entrySet()) {
		writer.println(entry.getKey()+"="+entry.getValue());
	}
}


ps:以此下种json格式直接传入后台,通过request.getParameterNames();后得到的names值为key1[],key2[],key3[]...而不是key1,key2,key3...。若key1后的值为字符串,则获得的值为key1.

var requestjson = {

         "key1" : ["data1","data2","data3","data4"],

         "key2" :["data1","data2","data3","data4"],

         "key2" :["data1","data2","data3","data4"],

          ....

    }


Java处理Json数据

标签:java   javascript   字符串   

原文地址:http://11697581.blog.51cto.com/11687581/1825756

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!