我曾经使用JSON从java应用程序中保存数据。 基本上,应用程序是一个复杂的形式。用户输入的每个值都以字段名称作为键存储。当应用程序变得更复杂时,当密钥被更改时,我遇到了一个问题。 例如,应用程序有一个字段“Optionnal Module”,因此JSON看起来像:
"Optional Module:": "Yes"
然后,我们添加了另一个“可选模块”,所以我们有
"Optional Module 1:": "Yes",
"Optional Module 2:": "No"
在代码中,我将值直接加载到文本字段中,如optModule.setText(parsedJSON.get("Optionnal Module"));
但是当我添加第二个模块时,它变为
if (parsedJSON.get("Optionnal Module") != null) {
optModul1.setText(parsedJSON.get("Optionnal Module"));
} else {
optModul1.setText(parsedJSON.get("Optionnal Module 1"));
}
正如您所看到的,代码可能会对应用程序所做的所有更改造成混淆。
我肯定可以使用Facade设计模式来避免让类保持简单,但我还有另一个类要维护......
然后我认为我可以使用ID而不是JSON键的文本字段名称,这是有效的。这是一个好习惯吗?有没有其他方法来处理这些变化?
我希望我能够理解。
谢谢!