Когда вы вызываете dataSnapshot.getValue().toString()
, вы конвертируете ветвь вашего JSON дерева в строку. Когда вы затем записываете это обратно в Firebase, он сохраняет его как строку.
Если вы хотите сохранить его в той же структуре, что и раньше, не конвертируйте данные в строку. Итак:
ProductRef.child(IdMesa_1).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
facturas.setValue(dataSnapshot.getValue());
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
throw databaseError.toException(); // don't ignore errors
}
});