查看日志中java对象中的变量

时间:2015-09-25 17:23:37

标签: java android json

我有一个非常简单的包装类,如下所示:

public class EmbedFoods {

    private Collection<Food> foods;

    public Collection<Food> getFoods() {
        return foods;
    }

    public void setFoods(Collection<Foods> foods) {
        this.foods = foods;
    }
}

public class Food {

    private String nutrition;
    private String calories;
    private String peanuts;

    etc...

}

我得到了一份&#34; Food&#34;对于这个EmbedFoods类,通过调用我的API返回一个JSON字符串,我使用Robospice for Spring Android自动填充EmbedFoods。

现在,我想以人类可读的格式查看EmbedFoods对象,最好是JSON。

如果我去Log.e("embedFoods", EmbedFoods.toString());,它会返回:

  

E / embedFoods [LModel.Food; @ 25ef9bbb

我只能看到embedFood类中的模型,但我看不到它包含的变量。我希望看到一个JSON字符串,显示日志中打印的java对象的所有变量。

如何查看在embedFood类中设置的所有变量,而不是调试在应用程序中设置embedFood的行?

1 个答案:

答案 0 :(得分:0)

可以通过覆盖toString方法来显示要查看的正确值来完成此操作。

这样的东西
@Override
public String toString() {
    Foods[] foods = collection.toArray();

    String words = "[";
    for (int i = 0; i < foods.length; i++) {
        words = words + "{" + foods.nutrition + foods.etc + "}"
    }
    words = words + "]"
    return words;
}

在你的嵌入食物中。