Json Object不能使用parse.com云功能Android强制转换为Float
Json Object cannot be cast to Float using parse.com cloud function Android
我正在学习https://parse.com/docs/cloud_code_guide?language=Android#functions-调用以获取android上的云数据。Java脚本代码如下:
Parse.Cloud.define("averageStars", function(request, response) {
var query = new Parse.Query("Review");
query.equalTo("movie", request.params.movie);
query.find({
success: function(results) {
var sum = 0;
for (var i = 0; i < results.length; ++i) {
sum += results[i].get("stars");
}
response.success(sum / results.length);
},
error: function() {
response.error("movie lookup failed");
}
});
});
android端的代码如下所示:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the view from listview_main.xml
setContentView(R.layout.listview_main);
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("movie", "The Matrix");
ParseCloud.callFunctionInBackground("averageStars", params, new FunctionCallback<Float>() {
public void done(Float ratings, ParseException e) {
if (e == null) {
// ratings is 4.5
}
}
});
// Execute RemoteDataTask AsyncTask
new RemoteDataTask().execute();
}
我还成功地将代码从解析控制台部署到了云中。但我得到了一个错误:java.lang.ClassCastException:org.json.JSONObject$1不能转换为java.lang.Float
请承认我做错了什么。我完全遵循了教程。提前谢谢。
您没有覆盖FunctionCallback<Float>();
的done方法
请替换如下解析云函数:
ParseCloud.callFunctionInBackground("averageStars", params, new FunctionCallback<Float>() {
@Override
public void done(Float ratings, ParseException e) {
if (e == null) {
// ratings is 4.
}
}
});
我认为原因是没有Review数据
results.length为0
因此CCD_ 2将是CCD_
我的解决方案是:检查devide by zero异常并始终返回Stringvar avg = 0;
if (results.length != 0) avg = sum / results.length
response.success(avg.toString());
相关文章:
- 如何在Android中将Javascript返回值转换为String
- CSS/JS转换:translate3d和滚动-在Android上流畅,在iPhone上没有动力
- Google Maps Embeded:将iFrame转换为iOS / Android中的链接
- 在 Android WebView 中本地播放来自 SWIFFY 转换 SWF 的交互式 HTML5 内容
- 如何从 JavaScript 中的 XML 转换的 JSON 解析 android 属性
- jQuery Mobile URL在Android浏览器上将哈希(#)转换为%23
- Json Object不能使用parse.com云功能Android强制转换为Float
- 如何将此Greasemonkey代码转换为Android的JavaScript
- Durandal在android上的转换速度较慢
- 这个问题的原因是什么;无法转换org.json.JSONArray类型的参数“”;在react原生android中
- jQuery移动转换在Android上抖动
- Android电话.Sms.转换
- 在android中转换特定类型的json字符串
- 如果在iOS的web应用中使用FormData发送,文件将转换为[Object Object]字符串&Android
- Android 4 Chrome在CSS转换后的触摸事件命中测试问题
- Android 4.4 vs iOS上CSS3转换缓慢
- 在android中页面转换不流畅
- 如何转换字符串从[object HTMLDocument]在android或java
- 如何将我的响应式网站轻松转换为原生iOS和Android应用程序?
- 如何将HTML/Javascript代码转换为可用于Eclipse中的Android应用程序