package com.github.ltsopensource.core.json; import com.github.ltsopensource.core.constant.ExtConfig; import com.github.ltsopensource.core.spi.SPI; import java.lang.reflect.Type; import java.util.List; import java.util.Map; /** * @author Robert HG (254963746@qq.com) on 11/19/15. */ @SPI(key = ExtConfig.LTS_JSON, dftValue = "fastjson") public interface JSONAdapter { public String getName(); public <T> T parse(String json, Type type); public String toJSONString(Object obj); public JSONObject toJSONObject(Object obj); public JSONArray toJSONArray(Object obj); public JSONArray parseArray(String json); public JSONObject parseObject(String json); public JSONObject newJSONObject(); public JSONObject newJSONObject(Map<String, Object> map); public JSONObject newJSONObject(int initialCapacity); public JSONArray newJSONArray(); public JSONArray newJSONArray(List<Object> list); public JSONArray newJSONArray(int initialCapacity); }