我有一个带有 ServicStack 的 REST-Service 构建,并且在一次调用中,用户可以发送不同类型的值。所以我在 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; }
}