0
我想使用ParserUtil反序列化和序列化Xively數據對象,如Datastream和Datapoint。Xively ParserUtil API
儘管toJson函數可以很好地工作,但我無法使用Connection對象和toConnectedObjects函數。
以下是代碼摘錄和相應的日誌。
String jsonDP=ParserUtil.toJson(false, dp);
Datapoint dpNew=ParserUtil.toConnectedObject(jsonDP, Datapoint.class);
LOGGER.debug(ParserUtil.toJson(false, dpNew));
日誌:
2013-08-28 11:45:31,348 2064 DEBUG [ParserUtil.java: 136] (main:) Parsing models to json
2013-08-28 11:45:31,376 2092 DEBUG [ParserUtil.java: 187] (main:) Parsed json from models: {"datapoints":[{"at":"2012-02-19T00:00:02.283064Z","value":"261"}]}
2013-08-28 11:45:31,376 2092 DEBUG [ParserUtil.java: 221] (main:) Parsing string to object: {"datapoints":[{"at":"2012-02-19T00:00:02.283064Z","value":"261"}]}
2013-08-28 11:45:31,377 2093 DEBUG [ParserUtil.java: 136] (main:) Parsing models to json
2013-08-28 11:45:31,377 2093 DEBUG [ParserUtil.java: 187] (main:) Parsed json from models: {"datapoints":[{"value":null}]}
2013-08-28 11:45:31,377 2093 DEBUG [XivelyHelper.java: 295] (main:) {"datapoints":[{"value":null}]}
toConnectedObject(jsonDP,Datapoint.class),newDP對象 「在」 有兩個字段和 「值」 設置爲空的結果。
我試過與Datastream對象相同的過程,所有的字段也是空的。
嗨errordeveloper,我已經測試了以下不同的json輸入,似乎問題是根包裝「數據點」。以下字符串與toConnectObject()一起使用:「{」at「:」2012-02-19T00:00:02.283064Z「,」value「:」261「}」但toConnectObjects()與我的原始帖子中的字符串只返回一個對象集合,其中唯一的Datapoint對象將所有字段設置爲null。我仍在嘗試不同的配置,並會回覆更多信息。 – Feischi
好吧,我明白了,通過檢查測試用例。這兩項行動並不完全相反。當轉換爲json時,會添加根元素,而在解析時,不包含root。這適用於所有域對象。 – Feischi