【发布时间】:2013-03-20 16:29:58
【问题描述】:
我想将 JSON 对象发布到我的服务堆栈服务并在请求 DTO 中使用动态属性。到目前为止,我尝试过的所有方法都将对象保留为 NULL 值。
我使用的 javascript 代码:
$.getJSON(
"/api/json/reply/Hello",
{
Name: "Murphy",
Laws: {
SomeProp: "A list of my laws",
SomeArr: [
{ Title: "First law" },
{ Title: "Second law" },
{ Title: "Third law" }
]
}
},
function(data) {
alert(data.result);
}
);
接收请求的 DTO:
public class Hello
{
public string Name { get; set; }
public dynamic Laws { get; set; }
}
我还尝试在 DTO 中使用对象和 JsonObject 而不是动态的。
为了完整,这里也是服务:
public class HelloService : Service
{
public object Any(Hello request)
{
return new HelloResponse { Result = "Hello, " + request.Name };
}
}
Murphy 在 Name 属性中没有任何问题,但 Laws 属性仍然为 NULL。
最后,我想以某种方式迭代(使用反射?) Laws 属性并获取所有包含的属性和值。
我不能在这里使用类型化的 DTO,因为在开发时我不知道 Laws 属性的 JSON(而且它可以经常更改)。
感谢您的帮助!
【问题讨论】:
标签: servicestack