4
我有一個使用ServicStack的REST服務構建,並且在一次調用中用戶可以發送不同類型的值。所以我使用C#類型對象創建了屬性。servicestack.text將數組反序列化爲對象
所發送的JSON看起來像這樣:
{"name":"ffff","params":[{"pId":1,"value":[624,625]},{"pId":2,"value":"xxx"}]}
的部分「值」:[624625]導致填充有字符串對象「[624625]」。我希望得到一個int數組或至少一個字符串數組,但它是純字符串。 我設置JsConfig.TryToParsePrimitiveTypeValues = true,但這似乎沒有任何效果。
我試過github的最新消息。
這可以用任何開關組合來完成,或者我必須自己解析嗎?
感謝
編輯:
下面是一些testcode:
[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; }
}
你用什麼代碼來反序列化這個JSON? – Cocowalla