How to get JSON response from Firebase Firestore?

I am using Firebase Firestore. I get a response from Firebase, but I have some problems.

I get a JSON response below this:

String result = {name:date, order:1, required:true, type:date, placeholder:Expense Date}

This answer above is not valid if JsonLint is checked

I also tried

String order = new JSONObject(responseConvert).getString("order");

I want to convert my answer below:

 {
    "name": "date",
    "order": "1",
    "required": "true",
    "type": "date",
    "placeholder": "Expense Date"
 }

My Java code is:

db.collection("details").addSnapshotListener(new EventListener<QuerySnapshot>() {
            @Override
            public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {

                Log.d("Snapshotssize","****   "+documentSnapshots.size());
                arrayList.clear();
                if (e!=null)
                {
                    Log.d("FirebaseFirestoreExce","*** " + e.toString());
                    return;
                }

                objects_array = new Object[documentSnapshots.size();

                for(DocumentChange documentChange : documentSnapshots.getDocumentChanges())
                {  progressDialog.dismiss();

                    switch (documentChange.getType())
                    {

                        case ADDED:{
                             documentChange.getDocument().getData().keySet().toArray(objects_array));
                        /*object array into String array*/
                        String[] stringArray = Arrays.copyOf(objects_array, objects_array.length, String[].class);

                                for (String val :  stringArray)
                                {

                                    String geoResponse = documentChange.getDocument().getData().get(val).toString();

                                   Log.d("Jsonrespone11111"+geoResponse ); 

                                    String responseConvert = geoResponse.replace("=", ":");

                                     Log.d("Jsonrespone22222  "+responseConvert );                                      


                                }

                         }
                    }

             }
        }
}
-1
source share
1 answer

Convert Invalid Json to a valid json android?

String inputString = "name: date, order: 1, required: true, type: date, placeholder: Expense Date";
    StringBuilder validJson = new StringBuilder();
    validJson.append("{");
    String[] lineByLine =  inputString.split(",");
    for(int i =0; i< lineByLine.length; i++){
        String[] lineSplit = lineByLine[i].split(":");
        validJson.append('"').append(lineSplit[0].trim()).append('"').append(":").append('"').append(lineSplit[1].trim()).append('"').append(i==lineByLine.length-1?"}":",");
    }
    String finishedJSON = validJson.toString();
    System.out.println(finishedJSON);

Details link

0
source

Source: https://habr.com/ru/post/1690697/


All Articles