在Angular中创建JSON查询参数的最佳方法

时间:2018-03-05 10:14:24

标签: json angular typescript

我有一个用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将更具适应性。

0 个答案:

没有答案