我有一个用typescript编写的 Angular 2.x 的应用程序,我需要根据用户与UI的交互动态创建一个JSON结构。 JSON结构由键:值参数和数组组成。然后将此JSON结构作为HTTP参数发送到API。
JSON结构的简化示例:
{
'key_1': 'param_1',
'key_2: 'param_2',
'array_key_1': [
{
'key_1_1': 'value_1_1',
'key_1_2': 'value_1_2
},
{
'key_2_1': 'value_2_1',
'key_2_2': 'value_2_2'
}
],
'array_key_2': [
{
'key_1_1': 'value_1_1',
'key_1_2': 'value_1_2,
'someArray': [...]
},
{
'key_2_1': 'value_2_1',
'key_2_2': 'value_2_2'
'someArray': [..]
}
]
}
此JSON结构用作数据库的查询。
最初我在组件中声明public sqlJSON: Object = {}
并使用ngOnInit()
LifeCycleHook来初始化空数组(这是必需的,因为如果没有初始化,当将一个条目推入其中时,Angular将无法识别该数组)。
如果用户更改了另一个感兴趣的主题,我使用ngOnChanges
LifeCycleHook重置JSON结构。例如,sqlJSON['array_key_1] = []
等等。
有没有更好的方法来创建这样的JSON结构?例如,可以使用localStorage
来记住,如果用户与UI进行交互,JSON可能会变得非常大吗?在localStorage
中存储此类JSON结构时,是否存在任何内存限制。
值得告知的是,由于后端需求不断变化,上面提到的JSON结构需要不断添加/删除新的key:value参数。
可以interface
用于构建此JSON吗?我认为,由于参数保持添加/删除,interface
将更具适应性。