如何将org.json.JSONObject转换为com.google.gson.Gson对象?
org.json.JSONObject 转 Gson JsonObject 最简实现方案
最简单的实现方式是通过JSON字符串作为中间载体完成转换,无需手动处理嵌套结构、类型适配等逻辑,代码量最少且出错概率极低。
实现步骤
- 调用
org.json.JSONObject的toString()方法,将实例序列化为标准JSON字符串 - 调用Gson的
fromJson()方法,将上述字符串反序列化为com.google.gson.JsonObject实例
代码示例
import org.json.JSONObject; import com.google.gson.Gson; import com.google.gson.JsonObject; public class JsonConvertDemo { public static void main(String[] args) { // 示例:已有的org.json.JSONObject实例 JSONObject orgJsonObj = new JSONObject("{\"username\":\"demo\",\"age\":28,\"tags\":[\"dev\",\"java\"]}"); // 核心转换逻辑,仅需两行 String jsonString = orgJsonObj.toString(); JsonObject gsonJsonObject = new Gson().fromJson(jsonString, JsonObject.class); } }
方案说明
- 适配所有常规JSON结构:嵌套对象、数组、基础类型等都可以自动完成转换,无需额外编码
- 仅当你对性能有极致要求(单次转换耗时要控制到微秒级)时,才需要手动递归遍历
org.json.JSONObject的键值对做类型映射转换,绝大多数业务场景下字符串中转的方案完全够用
内容的提问来源于stack exchange,提问作者KimRuhr
相关产品推荐
相关产品推荐

