在VS2012中,可以通过上下文菜单将JSON粘贴为c#类 - >粘贴特殊。
是否有解决方案可以反过来做到这一点?将c#类粘贴为JSON?
我认为许多开发人员首先使用EF DBContext编写服务器代码,然后编写客户端javascript代码。总是手工编写json很复杂。
一个例子:
// a model class
public class SampleTodoItem
{
public int Id { get; set; }
public string Description { get; set; }
public bool IsDone { get; set; }
}
然后我想在我的javascript客户端代码中使用与json相同的模型。当然,生成的JSON中必须有虚拟数据。
var model = {
id: 0,
description: 'dummy',
isDone: false
};
我总是必须手动完成这件事。
据我所知,我需要这些" JSON模型"使用knockout或angularjs将javascript数据绑定到html视图。也有可能我不了解整件事情。
答案 0 :(得分:2)
您可以采取各种方法。如果您计划将c#类转换为json表示,最简单的方法是使用Javascript序列化程序或JSON.Net等序列化数据表示。这是一个将给定的IEnumerable转换为其JSON表示的示例
public static string ToJSONString<T>(this IEnumerable<T> items)
{
var jsonString = JsonConvert.SerializeObject(items, Formatting.Indented, new JsonSerializerSettings
{
ContractResolver = new LowerCaseContractResolver(),
NullValueHandling = NullValueHandling.Ignore
});
jsonString = jsonString.Replace("\r\n", string.Empty);
return jsonString;
}
另一种方法(这是针对淘汰视图模型,使用T4模板生成它。如果您计划使用模型生成JavaScript文件,则可以使用相同的概念生成表示。您可以在此处找到{{3} }