У меня есть эта структура в FirebaseДобавление слушателя к firebase имея список как данные
"shared_items" : {
"-KgGHdgE3L_m6ppVgn99" : {
"_id" : 14,
"added_date" : "08/Mar/2017",
"shared_with_emails" : "{\"[email protected]*com\":{\"name\":\"Customer Care\"},\"[email protected]*com\":{\"name\":\"Customercare\"}}",
"user_display_name" : "Logged in user",
"users_email" : "[email protected]"
}
}
Мои вопросы:
- Когда я сохранение данных в формате JSON в
"shared_with_emails"
ключе, то мои данные автоматически добавленным с"\"
слэш. Является ли это нормальным, или я делаю что-то неправильно здесь? - Как я могу получить весь узел на основе идентификаторов электронной почты, присутствующих в этом объекте JSON.
Функция для создания JSON объектов из предоставленных контактов ..
public class JsonUtils {
final private static String TAG = JsonUtils.class.getSimpleName();
public String ContactsToJson() {
ArrayList<ContactsModel> listOfContacts = new ArrayList<>();
listOfContacts.add(new ContactsModel("[email protected]", "abc"));
listOfContacts.add(new ContactsModel("[email protected]", "xyz"));
listOfContacts.add(new ContactsModel("[email protected]", "mnop"));
JSONObject jsonObjectChild;
JSONObject jsonObjectRoot = new JSONObject();
for (int i = 0; i < listOfContacts.size(); i++) {
ContactsModel model = (ContactsModel) listOfContacts.get(i);
try {
jsonObjectChild = new JSONObject();
jsonObjectChild.put("name", model.getContactName());
jsonObjectRoot.put(model.getContactMail(), jsonObjectChild);
} catch (JSONException e){
e.printStackTrace();
}
}
System.out.println(jsonObjectRoot.toString());
return jsonObjectRoot.toString();
}
public class ContactsModel {
private int id;
private String mContactName;
private String mContactMail;
public ContactsModel(String contactMail, String contactName) {
this.mContactName = contactName;
this.mContactMail = contactMail;
}
public String getContactName() {
return mContactName;
}
public String getContactMail() {
return mContactMail;
}
}
}
Json данные о Firebase
Если вы делитесь «вещью» с несколькими пользователями, она превращается в проблему категоризации. Для одного подхода к модели, см. Http://stackoverflow.com/questions/40656589/firebase-query-if-child-of-child-contains-a-value –
@Frank Я следил за вашим сообщением и пробовал шаги, которые вы показал нам, но все еще не смог достичь желаемой функциональности. Я обновил запрос на запрос, чтобы любезно взглянуть на него. – Deepesh
1. Вы не храните JSON, а сохраняете строку. Не видя кода, который производит это, трудно сказать что-либо о причине/исправлении. 2. Ничто в этой структуре не изменено, чтобы моделировать данные, как я описал в ответе, который я связывал. –