我似乎无法在任何地方找到这个,但很多人必须这样做。
我有一个对象数组,我想将其转换为JSON字符串并发布到REST URL。这是我到目前为止所做的:
if(history==null||history.length == 0){
return new String[0];
}
JSONArray array = new JSONArray();
for(DeviceHistory connectHistory:history){
array.put(connectHistory);
}
JSONObject response = jsonClient.remoteCall(SERVICE_NAME, array.toString());
问题是我得到[“com.abc.model.connect.DeviceHistory@41e63298”,“com.abc.model.connect.DeviceHistory@41e63760”,“com.abc.model.connect.DeviceHistory@41e63c28来自array.toString()的“,”com.abc.model.connect.DeviceHistory@41e640f0“]。我做错了什么?
答案 0 :(得分:2)
您的问题是您没有将对象作为String传递,因此您在JSON中编写的内容是对对象的引用。
如果可以或只是使用它,您应该在该类中实现toString()
方法。但是,如果你不能使用辅助方法来实现它。
答案 1 :(得分:2)