JSON对象、JSON字符串和Java对象互相转
-
Java对象转json字符串(一般使用字符串存储redis或者数据库)
public static String toJSONString(Object object)
String objStr = JSON.toJSONString(obj);
-
json字符串转json对象(中间类,其实主要为了转到java对象)
public static JSONObject parseObject(String text)
JSONObject jsonObject = JSONObject.parseObject(objStr);
-
json对象转java对象
public static <T> T toJavaObject(JSON json, Class <T> clazz)
Test test = JSONObject.toJavaObject(jsonObject, Test.class);
public class JSONObject extends JSON implements Map <String ,Object >, Cloneable, Serializable , InvocationHandler
因为
JSON
是JSONObject
的爸爸,所以,我们放jsonObject
也可以。
合并起来就是:
-
Java转json字符串,就去入库就行了
String objStr = JSON.toJSONString(obj);
-
json字符串转java对象,取出来直接当Java对象使用
Test test = JSONObject.toJavaObject( JSONObject.parseObject(objStr), AccountBase.class);
扩展:
java对象转json字符串时候null
变""
,多用于后台传对象给前端时候:
JSON.parseObject(JSON.toJSONString(testParam,SerializerFeature.WriteNullStringAsEmpty))
返回json对象,直接丢到返回结果类的data
域即可。