2017-07-27 74 views
0

當我從datasnapShot.getValue().toString得到的數據作爲我的字符串或數據有空格它JSONArray甚至不獲取數據到jsonArray。我該怎麼做,我只需要使用這種方法。請給我一些東西或改變它,以便我可以做我的代碼。我對編碼和Android有了一點認識。解析dataSnapShot.getValue.toString具有空白符jsonArray在字符串

void updateSubjects() { 
     DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference() 
       .child("posts-by-subjects").child(selectedStream).child("subjects"); 
     databaseReference.addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       ArrayList<String> subjects = new ArrayList<String>(); 
       try { 
        JSONArray jsonArray = new JSONArray(dataSnapshot.getValue().toString()); // ** 
        for (int i = 0; i <= jsonArray.length(); i++) { 
         if (!jsonArray.get(i).toString().equalsIgnoreCase("null")) { 
          subjects.add(jsonArray.get(i).toString()); 
         } 
        } 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 

       updateRecyclerView(subjects); 
       showHideProgressDialog(false); 
      } 
+0

發表您迴應 –

回答

0

使用下列Java方法:

String str = "Your string with  spaces"; 
    str = str.replace(" " , ""); 

這樣的:

subjects.add(jsonArray.get(i).toString().replace(" ","")); 
+0

甚至jsonArray是不是有dataSnapShot然後 「JSONArray jsonArray =新的價值JSONArray(dataSnapshot.getValue()的toString()。);」 –