2016-12-06 1 views
0

Ошибка: java.lang.IllegalArgumentException: неверный типа для ParseObject: класс org.json.JSONObjectНедопустимого типа для ParseObject

Я переместил синтаксический анализ сервера на «CentOS», а также базы данных из parse.com до mangoDB. Я получаю Above error, когда я делаю запрос ниже моего приложения для Android.

Примечание: Я использую андроид синтаксического SDK (v1.13.1)

Я попытался добавить JSONObject в ArrayList с использованием метода addAllUnique(), потому что я должен хранить 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. Если вы используете SDK для Android, вы можете просто создать имя класса как объект и обернуть его в именованный элемент, а затем добавить его в класс, который вы хотите указать на него. –

+0

@RobertRowntree Спасибо за ваше предложение, но я должен хранить jsonObject как ** массив ** data-type в базе данных анализа. Прежде чем синтаксический анализ кода будет работать для меня отлично. Пожалуйста посоветуй. – 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

Я использую ваш ответ. Я попробовал этот код, чтобы сохранить массив Pointer в базу данных Разбор но он хранит как «[ [ { "ObjectId": "Указатель" }, { "ObjectId": "UserKeyword" }, { "objectId": "6mzDmu8iX1" } ] ] " , но мне требуется ниже формат. [ { "__type": "Указатель", "имя класса": "UserKeyword", "ObjectId": "DkfeM16GtA" }, { "__type": "Указатель", "имя класса": «UserKeyword», «objectId»: «lkcnla8icJ» } ] – Dinesh

+0

Это из-за 'Arrays.asList (pointerList)'.Я отредактировал свой ответ. Попробуй еще раз. @Dinesh –

+0

Удалите неправильные данные в столбце, прежде чем тестировать его. –

 Смежные вопросы

  • Нет связанных вопросов^_^