日期:2014-05-16  浏览次数:20469 次

将JAVA对象转换成JSON字符串 .
01.package com.jetsum.util; 
02. 
03.import java.io.StringReader; 
04.import java.lang.reflect.Field; 
05.import java.util.ArrayList; 
06.import java.util.List; 
07.import java.util.Map; 
08.import java.util.Set; 
09. 
10.import antlr.RecognitionException; 
11.import antlr.TokenStreamException; 
12. 
13.import com.sdicons.json.mapper.JSONMapper; 
14.import com.sdicons.json.mapper.MapperException; 
15.import com.sdicons.json.model.JSONArray; 
16.import com.sdicons.json.model.JSONValue; 
17.import com.sdicons.json.parser.JSONParser; 
18. 
19.public class JsonUtil { 
20. 
21.    /**
22.     * JAVA对象转换成JSON字符串
23.     * @param obj
24.     * @return
25.     * @throws MapperException
26.     */  
27.    public static String objectToJsonStr(Object obj) throws MapperException{ 
28.        JSONValue jsonValue = JSONMapper.toJSON(obj);   
29.        String jsonStr = jsonValue.render(false); 
30.        return jsonStr; 
31.    } 
32.     
33.    /**
34.     * 重载objectToJsonStr方法
35.     * @param obj 需要转换的JAVA对象
36.     * @param format 是否格式化
37.     * @return
38.     * @throws MapperException
39.     */ 
40.    public static String objectToJsonStr(Object obj,boolean format) throws MapperException{ 
41.        JSONValue jsonValue = JSONMapper.toJSON(obj);   
42.        String jsonStr = jsonValue.render(format); 
43.        return jsonStr; 
44.    }    
45.     
46.    /**
47.     * JSON字符串转换成JAVA对象
48.     * @param jsonStr
49.     * @param cla
50.     * @return
51.     * @throws MapperException
52.     * @throws TokenStreamException
53.     * @throws RecognitionException
54.     */ 
55.    @SuppressWarnings({ "rawtypes", "unchecked" }) 
56.    public static Object jsonStrToObject(String jsonStr,Class<?> cla) throws MapperException, TokenStreamException, RecognitionException{ 
57.        Object obj = null; 
58.        try{ 
59.            JSONParser parser = new JSONParser(new StringReader(jsonStr));     
60.            JSONValue jsonValue = parser.nextValue();            
61.            if(jsonValue instanceof com.sdicons.json.model.JSONArray){ 
62.                List list = new ArrayList(); 
63.           &