我有这样的课:
public class Class1 {
private String result;
private String ip;
private ArrayList<Class2> alarm;
}
Run Code Online (Sandbox Code Playgroud)
警报它的类是这样的:
public class Class2 {
private String bla;
private String bla1;
}
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法将orl.json的Class1实例转换为JSON对象?
Buf*_*alo 22
我认为利用org.json.lib的JSONObject(Object)构造函数是你正在寻找的.它将根据Java对象的getter构造一个JSONObject.然后,您可以使用JSONObject#toString来获取实际生成的Json.
JSONObject jsonObject = new JSONObject(instanceOfClass1);
String myJson = jsonObject.toString();
Run Code Online (Sandbox Code Playgroud)
虽然JSONObject是要走的路,但您需要遵循JavaDoc关于bean属性的说法:
使用bean getter从Object构造一个JSONObject.它反映了对象的所有公共方法.对于没有参数且名称以"get"或"is"开头,后跟大写字母的每个方法,调用该方法,并将一个键和从getter方法返回的值放入新的JSONObject中.通过删除"get"或"is"前缀来形成密钥.如果第二个剩余字符不是大写字母,则第一个字符将转换为小写字母.例如,如果一个对象有一个名为"getName"的方法,并且调用object.getName()的结果是"Larry Fine",那么JSONObject将包含"name":"Larry Fine".
根据文档,它将在您的情况下失败,因为您不通过gets和setter公开这些属性.
| 归档时间: |
|
| 查看次数: |
23624 次 |
| 最近记录: |