使用Json编写Ajax程序

(1)java对象转换成json字符串或者java对象组成的集合转换成json字符串。

                 使用json提供的官方的工具JSONObject,JSONArray

  •      java对象转换为Json对象
//java对象转换为json对象
	public static void test1(){
		Stock s = new Stock();
		s.setName("深发展");
		s.setCode("600015");
		s.setPrice(10);
		JSONObject obj = JSONObject.fromObject(s);
		System.out.println(obj);
	}
  •  java对象集合转换为Json字符串
  • //java集合对象转换为Json字符串
    	public static void test2(){
    		List<Stock> stocks = 
    				new ArrayList<Stock>();
    			for(int i=0;i<3;i++){
    				Stock s = new Stock();
    				s.setName("深发展" + i);
    				s.setCode("60001" + i);
    				s.setPrice(10);
    				stocks.add(s);
    			}
    			
    			JSONArray obj = JSONArray.fromObject(stocks);
    			String jsonStr = obj.toString();
    			System.out.println(jsonStr);
    			
    	}
    	
    (2)json字符串转换成javascript对象

       使用一些js框架提供的函数,比如prototype提供的evalJSON函数

var arr = txt.evalJSON();

	function fn(){
				var xhr = getXhr();
				xhr.open('get','quoto.do',true);
				xhr.onreadystatechange=function(){
					if(xhr.readyState == 4){
						var txt = xhr.responseText;
						//将json字符串转换成js对象
						var arr = txt.evalJSON();
						//更新tbody
						var html = '';
						for(i=0;i<arr.length;i++){
							var s = arr[i];
							html +='<tr><td>' + s.name 
							+ '</td><td>' + s.code 
							+ '</td><td> ' +s.price 
							+ '</td></tr>';
						}
						$('tb1').innerHTML = html;
					}
				};
				xhr.send(null);
			}

 

 

 

你可能感兴趣的:(Ajax)