我有类似的代码部分:
var @object =
new
{
val = "SUCCESS",
stuff = new
{
stuff1 = model.Stuff1,
stuff2 = model.Stuff2
}
};
return Json(@object, JsonRequestBehavior.AllowGet);
var @object =
new
{
val = "SUCCESS"
};
return Json(@object, JsonRequestBehavior.AllowGet);
var @object =
new
{
val = "ERROR",
details = "Details"
};
return Json(@object, JsonRequestBehavior.AllowGet);
对我而言,它看起来像是一种应该修复的重复代码。
我想重构那段代码,所以我可以有类似的东西:
var @object = GetResult("SUCCESS", object myobj)
return Json(@object, JsonRequestBehavior.AllowGet);
这样做的最佳做法是什么?
答案 0 :(得分:0)
看起来您有兴趣为匿名类型生成属性,并在运行时为这些属性赋值。
有一篇帖子here向您展示了如何动态创建课程,但似乎您必须努力工作才能到达目的地。
为什么不从不同类型的对象生成JSON字符串并将其合并为一个JSON字符串?
string val = "SUCCESS";
var stuff = new
{
stuff1 = "some string",
stuff2 = "4324"
};
string json = new JavaScriptSerializer().Serialize(
new {val, stuff}
);
{"val":"SUCCESS","stuff":{"stuff1":"some string","stuff2":"4324"}}