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 がわからないからです (そして、かなり頻繁に変更される可能性があります)。
助けてくれてありがとう!