我正在尝试将Java对象序列化为JSON格式的字符串。我认为JSONSerializer是正确的答案,但是当我调用它时,结果的大小等于0。 目前我的解析对象非常基本:
public class Location {
public double _latitude;
public double _longitude;
public void setLatitude(double latitude){
this._latitude = latitude;
}
public void setLongitude(double longitude){
this._longitude=longitude;
}
}
我的电话也非常简单:
JSONObject jsonResponseObject = (JSONObject) JSONSerializer.toJSON(location)
阅读documentation,我认为它只会神奇地与任何对象一起工作......
任何帮助将不胜感激
答案 0 :(得分:2)
您的班级不提供任何吸气剂。添加以下方法:
/**
* @return the _latitude
*/
public double getLatitude() {
return _latitude;
}
/**
* @return the _longitude
*/
public double getLongitude() {
return _longitude;
}
以下测试:
Location l = new Location();
l.setLatitude(1.0d);
l.setLongitude(2.0d);
JSONObject jsonResponseObject = (JSONObject) JSONSerializer.toJSON(l);
返回格式正确的json字符串:
{"latitude":1,"longitude":2}
答案 1 :(得分:0)
我之前没有使用过jsonlib,但我认为如果将它转换为JavaBean,它将按预期工作。简而言之,实现Serializable,正确编写getter和setter,它应该可以工作。
编辑:我猜这个article会有所帮助。