JSON数据的处理:java
1.阿里巴巴的fastjson.jarjson
依赖:数组
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.58</version> </dependency>
import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; public class FastJSONHelper { /** * 将java类型的对象转换为JSON格式的字符串 * @param object java类型的对象 * @return JSON格式的字符串 */ public static <T> String serialize(T object) { return JSON.toJSONString(object); } /** * 将JSON格式的字符串转换为java类型的对象或者java数组类型的对象,不包括java集合类型 * @param json JSON格式的字符串 * @param clz java类型或者java数组类型,不包括java集合类型 * @return java类型的对象或者java数组类型的对象,不包括java集合类型的对象 */ public static <T> T deserialize(String json, Class<T> clz) { return JSON.parseObject(json, clz); } /** * 将JSON格式的字符串转换为List<T>类型的对象 * @param json JSON格式的字符串 * @param clz 指定泛型集合里面的T类型 * @return List<T>类型的对象 */ public static <T> List<T> deserializeList(String json, Class<T> clz) { return JSON.parseArray(json, clz); } /** * 将JSON格式的字符串转换成任意Java类型的对象 * @param json JSON格式的字符串 * @param type 任意Java类型 * @return 任意Java类型的对象 */ public static <T> T deserializeAny(String json, TypeReference<T> type) { return JSON.parseObject(json, type); } }
2.Google的Gsoncookie
String json = "{\n" + " \"rst\": 0,\n" + " \"msg\": \"ok\",\n" + " \"data\": {\n" + " \"cookie\": \"JSESSIONID=abcntKeuJhop56LGykfdw\"\n" + " }\n" + "}"; JsonObject jsonObject = (JsonObject) new JsonParser().parse(json); System.out.println("rst:" + jsonObject.get("rst").getAsInt()); System.out.println("msg:" + jsonObject.get("msg").getAsString()); System.out.println("data:" + jsonObject.get("data").getAsJsonObject().get("cookie").getAsString());
3. net.sf.json 对象