【发布时间】:2012-04-24 07:05:37
【问题描述】:
我需要在 C# 代码中创建以下 JavaScript 对象文字,作为字符串,并且正在寻找一些关于如何最好地做到这一点的技巧。
model: {
id: "Id",
fields: {
Surname: { type: "string", validation: { required: true } },
FirstName: { type: "string", validation: { required: true } },
PrivateEmail: { type: "string", validation: { required: true } },
DefaultPhone: { type: "string" },
CompanyName: { type: "string" },
CreateDate: { type: "date" },
LastLoginDate: { type: "date" },
IsLockedOut: { type: "boolean" }
}
}
这定义了一个带有 model 属性的客户端对象,该属性反映了我的 MVC4 视图模型中每一行的外观。我可以使用普通反射来生成字符串文字,但我宁愿以某种方式利用 .NET 中已经可用的 JSON 序列化服务。为此,我想我需要创建一个匿名对象,其属性对应于上面的 JS 属性。我怎么能这样做?
编辑: 我需要遍历视图模型类中的属性并生成一个 C# 对象,该对象将序列化为类似于上述的视图模型类的 JavaScript“转换”。
【问题讨论】:
-
生成的代码应该是这样的,还是动态的?你不能把它放在一个文字字符串中吗?
-
@Guffa 我想将代码放在文字字符串中;我只是不想使用 icky 字符串 concat 来滚动自己的序列化程序。
-
好的,我给了你一个文字字符串的解决方案。如果你不想要那个,你想要什么?
-
我想在 C# 字符串中生成一个 JavaScript 对象文字。我认为我的标题暗示了这一点。很多json序列化就是这样完成的。
标签: c# json c#-4.0 asp.net-mvc-4