(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字符串
-
(2)json字符串转换成javascript对象//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); }
使用一些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);
}