2016-12-06 77 views
0

錯誤: java.lang.IllegalArgumentException異常:無效類型的parseObject:類org.json.JSONObject無效類型的parseObject

我提出的解析服務器上「CentOS的」,並從數據庫中parse.com到mangoDB。當我從我的android應用程序進行以下請求時,出現以上錯誤。

注意:我使用的Android SDK解析(v1.13.1)

我曾嘗試使用addAllUnique()方法的JSONObject添加爲ArrayList的,因爲我要的JSONObject存儲爲「陣列的數據類型「在解析數據庫。

下面我分享一下我的代碼:

JSONObject jsonObj = new JSONObject(); 

try { 

    jsonObj.put("__type", "Pointer"); 
    jsonObj.put("className", className); 
    jsonObj.put("objectId", objectId); 
} catch (JSONException e1) { 
    e1.printStackTrace(); 
} 

ParseUser user = ParseUser.getCurrentUser(); 

user.addAllUnique("Keyword",Arrays.asList(jsonObj)); 

user.saveInBackground(); 

我自己也嘗試user.addAll()方法insted的addAllUnique(),但它也不能正常工作。

請幫我解決這個問題。謝謝

+0

後烏爾錯誤日誌 – Nithinlal

+0

您可以在這裏混合隱喻..明確使用指針類型是從REST API。如果您使用的是Android SDK,則只需將該類名作爲對象創建並將其包裝到一個已命名的元素中,然後將其添加到要指向它的類中即可。 –

+0

@RobertRowntree感謝您的建議,但我必須將jsonObject作爲**數組**數據類型存儲在Parse數據庫中。在解析遷移代碼對我來說工作正常。請指教。 – Dinesh

回答

3

你可以嘗試這樣的事情,而不是JSON對象。

List<ParseObject> pointerList = new ArrayList<>(); 
pointerList.add(ParseObject.createWithoutData("YourClassName", "yourobjectId")); 
pointerList.add(ParseObject.createWithoutData("YourClassName", "yourobjectId")); 
... 
user.addAllUnique("keyWord", pointerList); 
user.saveInBackground(); 

還未測試代碼。但從技術上講,它應該起作用。

希望這有助於:)

+0

我接受你的迴應。我曾嘗試這個代碼指針數組存儲到解析數據庫,但它存儲像「[ [ { 「對象ID」: 「指針」 }, { 「對象ID」: 「UserKeyword」 }, { 「objectId」:「6mzDmu8iX1」 } ] ]「 但我需要以下格式。 [ { 「__type」: 「指針」, 「的className」: 「UserKeyword」, 「的ObjectID」: 「DkfeM16GtA」 }, { 「__type」: 「指針」, 「的className」: 「UserKeyword」, 「objectId」:「lkcnla8icJ」 } ] – Dinesh

+0

這是因爲'Arrays.asList(pointerList)'。我編輯了我的答案。再試一次。 @Dinesh –

+0

在測試之前刪除列中的錯誤數據。 –