在java-json.jar中,我尝试将对象转换为json。我的问题是我有一个在Object中设置的数组列表,但当我将其转换为json时,它不显示Json中的列表。
JSONObject facebookJson = new JSONObject(facebook);
user = facebookJson.toString();
当我调试时,我看到该列表是在facebook对象中设置的。我想知道为什么会发生这种情况
答案 0 :(得分:2)
您的对象facebook
需要每个字段都有一个吸气剂。看一下文档:
public JSONObject(java.lang.Object bean)
构造一个JSONObject 使用bean getter的Object。它反映了所有的公共方法 对象。对于没有参数和名称的每个方法 以“get”或“is”开头,后跟一个大写字母, 调用方法,以及从getter返回的键和值 方法被放入新的JSONObject中。密钥是通过删除形成的 “get”或“is”前缀。如果剩下的第二个字符不是 大写,然后第一个字符转换为小写。对于 例如,如果一个对象有一个名为“getName”的方法,那么结果如果 调用object.getName()是“Larry Fine”,然后是JSONObject 包含“名称”:“拉里精细”。
你也可以使用JSONObject的其他构造函数,在它可以从你想要创建JSON的地方访问该字段的情况下传递它的字段名称(小心这里,它可以打破封装):
public JSONObject(java.lang.Object对象, java.lang.String [] names)
从Object构造一个JSONObject,使用反射来查找公共成员。该 结果JSONObject的键将是来自names数组的字符串, 并且值将是与这些键关联的字段值 物体。如果找不到或看不到密钥,那么它就不会出现 复制到新的JSONObject。