天天看点

gson 对象与JSONObject的转化

之前有问题的写法:

        val obj = JSONObject()

        obj.put("userPtr", Gson().toJson(UserPtr(objectId = userId)))

这样序列化之后的请求,会是双重字符串(带转义引号的字符串)

查下来,put的第二参数,不能是gson.toJson后的字符串,而还需要是一个JSONObject

改成这样就ok:

        val obj = JSONObject()

        obj.put("userPtr", JSONObject(Gson().toJson(UserPtr(objectId = userId))))

请求结果对了。但这么叠着写感觉别扭,不知有木有其他写法?