JSONSerializer.toJSON结果为空

时间:2013-11-20 16:14:47

标签: java json

我正在尝试将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,我认为它只会神奇地与任何对象一起工作......

任何帮助将不胜感激

2 个答案:

答案 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会有所帮助。