将dataSnapShot.getValue.toString解析为在String中具有whiteSpace的jsonArray

时间:2017-07-27 15:58:10

标签: android arrays string

当我从datasnapShot.getValue().toString获取数据时,因为我的字符串或数据中有空格,JSONArray甚至不会将数据导入jsonArray。我该怎么办,我只需要使用这种方法。请给我一些东西或改变它,以便我可以做我的代码。我对编码和Android有了一点了解。

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);
            }

1 个答案:

答案 0 :(得分:0)

使用以下java方法:

  String str = "Your string with     spaces";
  str = str.replace(" " , "");
像这样:

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