我必须将服务器端代码实现到表单生成器前端组件,该组件允许通过拖放创建表单,类似于this link
创建表单时,会生成JSON并且必须将其存储在数据库中。从那里开始,有两种用途,第一种是编辑已存储的JSON形式,第二种是使用JSON在html视图中实现Form,以便用户可以使用它。表单JSON看起来像这样,尽管某些表单组件的级别更深。
[{"name":"UserForm"},
{"id":"txtID","label":"Your Name","placeholder":"your name","helptext":"Please enter your name","required":true,"inputsize":"input-xlarge"},
{"id":"selectID","options":["Cricket","Football"],"inputsize":"input-xlarge","label":"Favorite Game"}]
当存储这个JSON时,我可以看到两种方式,选择哪一种让我感到困惑。首先,我可以创建表示JSON的实体类,还可以为这些实体分离SQL Server表。因此,我们的想法是创建具有表示JSON层次结构的关系的完整实体。
另一种方法是将完整的JSON存储在一个SQLServer表字符串(或类似)字段中,并处理该字符串以进行处理。
第一个选项似乎很脆弱,因为如果JSON键发生更改,则必须更新数据库模式。第二个选项可以吸收这个,而无需对数据库进行任何更改。但是,我不确定如何将JSON字符串作为C#代码中的对象进行处理。我需要这个来实现任何表单实现的说明,验证逻辑。因此,例如,如果" Name" 键在JSON中的值为"必需" ,则必须对其进行验证在服务器端使用c#。
简而言之,如何存储JSON,作为字符串字段或表示JSON层次结构的实体。