Я пытаюсь сохранить свойства в документе Couchbase в Android. В свойствах хранится JSONArray с несколькими объектами JSONObjects.Couchbaselite-Exception: плохой или отсутствует JSON
Когда я document.putproperties(myproperties)
couchbaseliteexception
с состояние 400 и сообщение «bad or missing json" is thrown
».
Так JSONArray выглядит следующим образом:
"some_prop" -> "[
{
"content":"someContent",
"key2":"",
"key3":"",
"key4":"",
"month":8,
"day":3,
"key5":115
},
{
"content":"Some other content",
"key2":"something",
"key3":"",
"key4":"",
"month":8,
"day":3,
"key5":115
}]"
Может кто-нибудь сказать мне, Что проблема с этим JSON?
EDIT: JSONArray с соответствующим ключом сохраняется в HashMap, как это объясняется в: http://developer.couchbase.com/mobile/develop/guides/couchbase-lite/native-api/document/index.html
EDIT 2: метод, где выполняется обновление и JSONArray заполнен:
private void updateDoc(ArrayList<MyObject> objects) {
Document document = getDocument();
// Update the document with more data
Map<String, Object> updatedProperties = new HashMap<>();
JSONArray objectArray = new JSONArray();
//fill array with data
for(MyObject element : objects) {
JSONObject jsonObjects = element.toJSONObject();
if(jsonObjects != null) {
objectArray.put(jsonObjects);
}
}
//set data to property map
updatedProperties.put(MYOBJECT_PROP_IDENTIFIER, objectArray);
try {
// Save properties to the Couchbase local Couchbase Lite DB
document.putProperties(updatedProperties);
} catch (CouchbaseLiteException e) {
}
}
Я думаю, что «some_prop» -> «должно быть как« some_prop »:« –
Я просто получил это как из отладчика из Android Studio. В couchbase свойства сохраняются в хэш-карте. поэтому добавленный JSONArray на карте через myproperties.put («some_prop», myJSONArray). Я следил за гидом в: http://developer.couchbase.com/mobile/develop/guides/couchbase-lite/native-api/document/index.html –