【发布时间】:2018-01-13 20:10:27
【问题描述】:
使用Json.NET 10.0.3。考虑以下示例:
class Foo
{
[JsonProperty("ids")]
public int[] MyIds { get; set; }
}
显然,数组的元素是未命名的。现在考虑以下json:
{
"ids": [{
"id": 1
}, {
"id": 2
}
]
}
然后我们尝试解析它:
var json = @"{""ids"":[{""id"":1},{""id"":2}]}";
var result = JsonConvert.DeserializeObject<Foo>(son);
解析上述失败并显示以下消息:
Newtonsoft.Json.JsonReaderException:遇到意外字符 解析值时:{。路径“ids”,第 1 行,位置 9。
我知道我可以将int 包装在一个类中并将其命名为“id”,但我想知道是否可以在没有这些额外工作的情况下完成此操作。原因似乎是SQL Server 2016 的限制。看到这个question。
【问题讨论】:
-
显而易见的做法是使用custom
JsonConverter。 -
但是使用自定义转换器,您的 C# 将无法匹配您的 JS。我想这取决于你想躺在哪里。
-
@HenkHolterman 不确定
""是否比\"好很多。