2

在 java-json.jar 我尝试将对象转换为 json。我的问题是我有一个在 Object 中设置的数组列表,但是当我将其转换为 json 时,它不会在 Json 中显示该列表。

JSONObject facebookJson = new JSONObject(facebook);
       user = facebookJson.toString();

当我调试时,我看到该列表设置在 facebook 对象中。我想知道为什么会这样

4

1 回答 1

2

您的对象facebook需要每个字段的吸气剂。看看文档:

公共 JSONObject(java.lang.Object bean)

使用 bean getter 从 Object 构造 JSONObject。它反映了对象的所有公共方法。对于没有参数且名称以“get”或“is”开头后跟大写字母的每个方法,都会调用该方法,并将从 getter 方法返回的键和值放入新的 JSONObject 中。密钥是通过删除“get”或“is”前缀形成的。如果剩余的第二个字符不是大写,则将第一个字符转换为小写。例如,如果一个对象有一个名为“getName”的方法,并且如果调用 object.getName() 的结果是“Larry Fine”,那么 JSONObject 将包含“name”:“Larry Fine”。

您还可以使用 JSONObject 的其他构造函数,将字段名称传递给它,以防可以从您要创建 JSON 的位置访问该字段(此处小心,它可能会破坏封装):

公共 JSONObject(java.lang.Object 对象,java.lang.String[] 名称)

从 Object 构造 JSONObject,使用反射查找公共成员。生成的 JSONObject 的键将是 names 数组中的字符串,而值将是与对象中的这些键关联的字段值。如果未找到或不可见键,则不会将其复制到新的 JSONObject 中。

于 2013-07-04T08:47:54.097 回答