PageRenderTime 35ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/resty-common/src/main/java/cn/dreampie/common/util/json/Jsoner.java

https://gitlab.com/xialeizhou/resty
Java | 43 lines | 32 code | 8 blank | 3 comment | 0 complexity | d3b1e7fb1e18bf302eeda975ab9a4aba MD5 | raw file
  1. package cn.dreampie.common.util.json;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONException;
  4. import com.alibaba.fastjson.parser.ParserConfig;
  5. import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer;
  6. import com.alibaba.fastjson.serializer.ObjectSerializer;
  7. import com.alibaba.fastjson.serializer.SerializeConfig;
  8. import java.lang.reflect.Type;
  9. /**
  10. * Created by ice on 14-12-31.
  11. */
  12. public class Jsoner {
  13. private static SerializeConfig config = SerializeConfig.getGlobalInstance();
  14. private static ParserConfig parserConfig = ParserConfig.getGlobalInstance();
  15. public static void addConfig(Type type, ObjectSerializer serializer, ObjectDeserializer deserializer) {
  16. addSerializer(type, serializer);
  17. addDeserializer(type, deserializer);
  18. }
  19. public static void addSerializer(Type type, ObjectSerializer serializer) {
  20. config.put(type, serializer);
  21. }
  22. public static void addDeserializer(Type type, ObjectDeserializer deserializer) {
  23. parserConfig.putDeserializer(type, deserializer);
  24. }
  25. public static String toJSONString(Object object) {
  26. return JSON.toJSONString(object, config);
  27. }
  28. public static <T> T parseObject(String json, Class<T> clazz) {
  29. try {
  30. return JSON.parseObject(json, clazz);
  31. } catch (JSONException e) {
  32. throw new ObjectCastException("Could not cast \"" + json + "\" to " + clazz.getName(), e);
  33. }
  34. }
  35. }