내 Parse.com 클라우드 기능 (백엔드)에서 내 안드로이드 응용 프로그램으로 간단한 자바 스크립트 객체를 전달하려고합니다.javascript 객체를 java의 JsonObject에 전달하십시오.
: 여기response.success(resp); // {avgRate = 4,numberOfRaters = 1}
response.success(JSON.stringify(resp)); // {"avgRate":4,"numberOfRaters":1}
내가 자바에서 그것을 얻을 방법은 다음과 같습니다
다음function Rate()
{
this.avgRate = 0.0;
this.numberOfRaters = 0;
}
내가 그것을 (2 옵션)을 통과하는 방법입니다 : 여기
는 자바 스크립트 클래스의 코드Object test = ParseCloud.callFunction("createNewRate", params); // test is {avgRate = 4,numberOfRaters = 1} or {"avgRate":4,"numberOfRaters":1} (option 1 or 2)
JSONObject response = ParseCloud.callFunction("createNewRate", params); // here is a crash
오류는 다음과 같습니다.
06-16 23:51:44.337: E/AndroidRuntime(13892): Caused by: java.lang.ClassCastException: java.util.HashMap cannot be cast to org.json.JSONObject
어떻게 올바르게 처리해야합니까?
감사
'Java 변수를 Object로 설정할 때 충돌이 발생 했습니까? ': 충돌하지 않는 것이 좋습니다. 'Rate' 객체의 자바 스크립트 배열을 전달하여'JSONArray'를 통해 그것을 반복하고'JSONObject'를 추출 할 때마다 모든 것이 잘 작동하기 때문에 매우 이상합니다. 'HashMap'을 사용하는 솔루션은 좋지만 코드와 일관성을 유지하고 싶습니다. 아마도 자바 스크립트 (백엔드)에서 할 수있는 일이있을 것입니다. 감사! – vlio20