By default, Recess PHPs’s JsonView class responds with the properties of your controller. So even if you create a custom route that outputs only an array, a default row of the controller’s model will also be included with null values.
You can override this using the OKResponse class. You can do it like this.
If ever this will happen to you, chances are you used a bean class as the object passed to the ObservableList. Hence, any update done will not update your TableView unless it is binded to that bean class.
To do so, replace your data types like long, int, double to use the Property class and instantiate it with SimpleProperty class. For String, use StringProperty and instantiate it with SimpleStringProperty.
Your bean class must have a Property method that will return the property class in order for binding to take effect with your TableView and ObservableList. This is so that the values of the individual entity fields can be observed for changes and any update action will take effect.