2016-12-28 2 views
1

TL: DR; Как отправить JSONArray в качестве параметра в Parse Cloud Functions?Неиспользуемый SystaxError при отправке JSONArray, преобразованный в String как параметр в Parse Cloud Function

Я запрашиваю функцию облака разбора. Всякий раз, когда я пытаюсь преобразовать JSONArray в строку и отправить в Params, я получаю это исключение

Uncaught SyntaxError: Unexpected token u in <unknown file>:1 

Ниже мой код, это то же самое, как указано в примере кода в руководстве Разбор:

// create a JSONObject 
JSONObject singleJsonObj= new JSONObject(); 
singleJsonObj.put("time", "2017-01-01T06:00:00Z"); 
singleJsonObj.put("title", "Adib"); 
singleJsonObj.put("profile", "AbCdIj76"); 

// add JSONObject to JSONArray 
JSONArray jsonArray = new JSONArray(); 
jsonArray.put(singleJsonObj); 

// put as parameter 
HashMap<String, Object> params = new HashMap<>(); 
params.put("form", formId); 
params.put("records", jsonArray.toString()); 

ParseCloud.callFunctionInBackground("someFunctionName", params, new FunctionCallback<Float>() { 
    @Override 
    public void done(Float object, ParseException e) { 
     if (e == null) { 
      // Yay! 
     } else { 
      // Damn!! 
     } 
    } 
}); 

Если Я не отправляю его как String, он показывает еще одну ошибку: InvalidArgumentException: Недопустимый тип для ParseObject: JSONArray. Я не нашел официальной документации о том, как отправить JSONArray в качестве параметра в Parse Cloud Function.

ответ

0

Существует несколько перегруженных версий callFunctionInBackground. Если его функция облака, вы должны использовать эту один: https://github.com/ParsePlatform/Parse-SDK-Android/blob/master/Parse/src/main/java/com/parse/ParseCloud.java#L17

И определить функцию обратного вызова, как: новый FunctionCallback()

Надеется, что это помогает.