2016-09-02 6 views
1

レスポンス: {値= 66、myarray = [{名前= harrypotter、価格= 10、オファー= 51、画像= harryimg、url = http://google.com/harry}、{name =アバター、価格= 25、オファー= 52、画像= avatarimg、url = http://google.com/avatar}]}Google FirebaseがアンドロイドのJSON形式のレスポンスを返さない

JSON形式で応答を取得するにはどうしますか?またはこの文字列をJSONに変換する最良の方法ですか?

CODE:

  final DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference(); 
     mDatabase.child("data").child("zero").addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       Log.d("Response: ", dataSnapshot.getValue.toString()); 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
+0

がどのようにこの問題を解決するために管理しなかったdataSnapshot

DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference(); mDatabase.child("data").child("zero").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { MyClass myClass = dataSnapshot.getValue(MyClass.class); Integer value = myClass.getValue(); } @Override public void onCancelled(DatabaseError databaseError) { } }); 

希望の値を設定するために? –

答えて

0

dataSnapshotがあなたのためにJSONを処理したためです。

はちょうどその

public class MyClass { 
    private Integer value; 
    private List<Map<String, Object>> myarray; 

    public CustomObject() { 
    } 

    public Integer getValue() { 
     return value; 
    } 

    public void setValue(Integer value) { 
     this.value = value; 
    } 

    public List<Map<String, Object>> getMyarray() { 
     return myarray; 
    } 

    public void setMyarray(List<Map<String, Object>> myarray) { 
     this.myarray = myarray; 
    } 
} 

のためのモデルクラスを作成し、このことができます:)

+0

私は使用します。 MyClassのMYCLASS = dataSnapshot.getValue(MyClass.class)。 整数値= myClass.getValue(); "value"がヌルであるためnullポインタ例外が発生しています –

+0

あなたの質問のLog.d( "dataSnapshot"、dataSnapshot.toString()); 'があなたの質問の最初の文章疑問がある場合、 'nullポインタ例外 'エラーは発生しません。エラーが存在する場合、参照がデータベース内の正しいノードを指していない可能性があります。 – Wilik

+0

申し訳ありませんが、私はモデルクラスなど全く新しいです。使用したことはありません...あなたは明確に/別の方法で教えていただけますか? 「myClass.getValue()」を使用する前に、値を最初に設定します。 –

関連する問題