首页 > 解决方案 > Gson 不能与 JSONObject 一起正常工作

问题描述

我的问题很简单。我有一个java对象

public class Cat {
   String id;
   String name;
   JSONObject ability;
   // getter and setter
}

和一段代码

Cat cat = new Cat();
JSONObject ability = new JSONObject();
ability.put("catch", "mouse");
cat.setId("one");
cat.setName("Tom");
cat.setAbility(ability);
System.out.println(new JSONObject(new Gson().toJson(cat)));

这是输出:

{"name":"Tom","id":"one","ability":{"map":{"catch":"mouse"}}}

谁能告诉我为什么会出现“地图”?

标签: javajson

解决方案


使用com.google.gson.JsonObject而不是 org.json.JSONObject


推荐阅读