ServicStack を使用した REST サービス ビルドがあり、1 回の呼び出しでユーザーはさまざまな種類の値を送信できます。なのでC#でオブジェクト型のプロパティを作ってみました。
送信される JSON は次のようになります。
{"name":"ffff","params":[{"pId":1,"value":[624,625]},{"pId":2,"value":"xxx"}]}
"value":[624,625] の部分は、"[624,625]" で満たされた文字列オブジェクトになります。int 配列または少なくとも文字列配列を取得したいと思っていましたが、それはプレーンな文字列です。JsConfig.TryToParsePrimitiveTypeValues = true を設定しましたが、効果がないようです。
github から最新のソースを試しました。
これはスイッチの任意の組み合わせで実行できますか、それとも自分で解析する必要がありますか?
ありがとう
編集:
ここにいくつかのテストコードがあります:
[TestMethod]
public void JsonTest()
{
string json = "{\"name\":\"ffff\",\"params\":[{\"pId\":1,\"value\":[624,625]},{\"pId\":2,\"value\":\"xxx\"}]}";
var x = JsonSerializer.DeserializeFromString<xy>(json);
Assert.AreEqual(x.Params[0].Value.GetType(), typeof(int[]));
}
public class xy
{
public string Name { get; set; }
public List<Param> Params { get; set; }
}
public class Param
{
public int PId { get; set; }
public object Value { get; set; }
}