1

假设我有一个包含大量嵌套对象和变量的对象,名为credential

在此处输入图像描述

恢复程序后,再次以不同的登录用户重新进入活动: 在此处输入图像描述

一次区分这两个对象的最佳方法是什么?.eg accountName(字符串)、isNew(布尔)变量等等。

我试过“复制值”,然后“用剪贴板比较值”,但它只能比较单个文本变量。“查看文本”是一样的。

我也试过“标记对象...”,但它的对象会丢失并且不会永久存储(重新输入类将覆盖该对象):

在此处输入图像描述

那么有没有办法比较两个复杂和嵌套的对象值?

[更新]

我发现我可以按shiftOR Ctrl+A突出显示所有内容,然后按Ctrl+C进行复制,但它仍然不会包含嵌套对象而不一一展开它们:

在此处输入图像描述

[更新 2]:

我注意到shadow$__klass_对象似乎包含自身并导致无穷无尽的嵌套属性。但是如果我可以排除这个对象名称或限制最大嵌套深度,它可以解决吗?

4

1 回答 1

1

您可以开发实用程序方法并将其保存在项目中的某个位置,该方法接受两个对象并在 eval 表达式调试器窗口中调用它并查看差异。

您可以使用一些反射库或开发自己的反射库,它可以这样工作:通过反射遍历对象字段并构建映射,其中键包含字段的复合路径(fe fieldA.fieldANested.number)及其具有的值。然后可以很容易地比较两个对象的两个映射,您可以在调试器中看到差异

于 2017-11-29T08:27:59.183 回答