我已经开始在我的 C# 代码中使用 Newtonsoft.Json.Schema.JsonSchemaGenerator 以及各种属性来帮助保持我的客户端脚本干燥。我想做的是根据服务器的模式创建一个默认的初始化对象客户端。例如,当用户单击“New Foo”以将新条目添加到表中时,这将很有用。
显然,我可以对其进行编码以迭代 .Properties 并构建新对象,这就是我目前正在做的事情。但是,我宁愿避免重新发明任何轮子。
除了我还没有意识到我需要的其他漂亮东西之外,是否有任何用于处理 JSON 模式的 JS 库?
2013 年 1 月 29 日更新
有些人试图回答我的问题并且已经偏离了基础,因此收到了来自 SO 社区的一些负面反馈。所以让我试着澄清一下。这是挑战:
在 JS 客户端脚本中,您有一个表示另一个对象的 JSON Schema的对象。比方说,这来自服务器通过 JSON.NET 并且是 C# 类的表示。
现在,在 JS 客户端脚本中,基于 JSON Schema创建这些对象之一。对象中的每个字段/属性都必须根据架构默认初始化,包括所有包含的对象!
奖励:使用 MVVM(例如 Knockout)将此新对象绑定到 UI。更改某些字段以响应用户输入。
将此新对象发送到服务器。服务器端代码会将其添加到集合、数据库表等中。(是的,对象将使用 Ajax 作为 JSON 发送——我们可以假设)
没有重复!定义类的唯一位置是服务器端代码(在我的示例中为 C#)。这包括所有元数据,例如默认值、描述文本、有效范围等。