【问题标题】:Parse dataSnapShot.getValue.toString to jsonArray having whiteSpace in String将 dataSnapShot.getValue.toString 解析为 jsonArray,String 中有空格
【发布时间】:2018-01-03 11:22:55
【问题描述】:

当我从datasnapShot.getValue().toString 获取数据时,因为我的字符串或数据中有空格,JSONArray 甚至没有将数据放入 jsonArray。我该怎么办,我只需要使用这种方法。请给我一些东西或改变它,以便我可以做我的代码。我是编码和 Android 的新手,但对 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);
            }

【问题讨论】:

  • 发表您的回复

标签: android arrays string


【解决方案1】:

使用以下java方法:

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

像这样:

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

【讨论】:

  • 即使 jsonArray 没有 dataSnapShot 的值,那么 'JSONArray jsonArray = new JSONArray(dataSnapshot.getValue().toString());'
猜你喜欢
  • 1970-01-01
  • 2012-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-04
  • 1970-01-01
相关资源
最近更新 更多