Bra*_*ite 7 javascript json jsonschema
我已经开始在我的C#代码中使用Newtonsoft.Json.Schema.JsonSchemaGenerator以及各种属性属性来帮助保持我的客户端脚本DRY.我想要做的是根据服务器的架构创建一个默认的初始化对象客户端.例如,当用户单击"New Foo"以将新条目添加到表中时,这将非常有用.
显然,我可以编写代码来迭代.Properties并构建新对象,这正是我目前正在做的事情.但是我宁愿避免重新发明轮子.
是否有任何用于处理JSON模式的JS库可以做到这一点,还有其他一些我尚未意识到需要的漂亮的东西?
2013年1月29日更新
有些人试图回答我的问题而已经离开了基地,结果收到了SO社区的一些负面反馈.所以让我试着澄清一些事情.这是挑战:
在JS客户端脚本中,您有一个对象,它表示另一个对象的JSON 模式.比方说,这来自服务器通过JSON.NET,是C#类的表示.
现在,在JS客户端脚本中,基于JSON 模式创建其中一个对象.必须根据模式默认初始化对象中的每个字段/属性,包括所有包含的对象!
奖励:使用MVVM将此新对象绑定到UI(例如Knockout).更改一些字段以响应用户输入.
将此新对象发送到服务器.服务器端代码将它添加到集合,数据库表,等等.(是的,该对象将使用Ajax作为JSON发送 - 我们可以假设)
没有重复!定义类的唯一位置是服务器端代码(在我的示例中为C#).这包括所有元数据,例如默认值,描述文本,有效范围等.
Jig*_*Raj -1
我认为...您必须使用两种方式与您的 HTML 代码绑定...所以,一旦您的客户端发生更改,您将获得您的服装 js 文件。
在这里查看淘汰赛 js。
在 C# 代码中使用:$("#urlhidden").val() 或 Document.GetElemenyByID("#urlhidden").val()。
在这里您将获得数组/列表或文本框值
将 json 与 Ko 一起使用
为knockout js 创建新的视图模型,您将在上面的链接中了解它。
并创建一个 json 调用,例如:
self.LoadMAS_Client = function () {
try {
var params = { "clientID": ClientId };
$.ajax({
type: "POST",
url: "http://" + ServerString + "/Services/LogisticsAppSuite-Services-Web-Services-MasClientService.svc/Json/GetAllLevelSubClients",
contentType: 'application/json',
data: JSON.stringify(params),
dataType: 'json',
async: false,
cache: false,
success: function (response) {
// in response u will get the data.and use as per your requirement.
eg. self.SelectedClient(response.your value);
},
error: function (ErrorResponse) {
}
});
}
catch (error) {
}
};
Run Code Online (Sandbox Code Playgroud)
==================================新更新================ ========================== 我认为..你可以做的一种方法...在 C# 代码中获取 xml 格式的数据并转换为 json string...检查下面的代码 // 将字符串 xml 中包含的 XML 节点转换为 JSON 字符串
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
string jsonText = JsonConvert.SerializeXmlNode(doc);
// To convert JSON text contained in string json into an XML node
XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2072 次 |
| 最近记录: |