我正在尝试使用ServiceStack.Text将JSON字符串“{Hints:6}”反序列化到一个类中。以下是测试用例。问题是控制台打印出0而不是6.所以似乎' HintsCount '类中的' Hints '字段没有被设置为新值。
public class HintsCount
{
public int Hints { get; set; }
}
class Program
{
static void Main(string[] args)
{
var hintsCount = JsonSerializer.DeserializeFromString<HintsCount>("{Hints:6}");
Console.WriteLine(hintsCount.Hints);
Console.ReadLine();
}
}
控制台打印出'0'而不是预期的'6'。
知道为什么会这样吗?
答案 0 :(得分:1)
试试这个:
var hintsCount = JsonSerializer.DeserializeFromString<HintsCount>(@"{""Hints"":6}");
或
var hintsCount = JsonSerializer.DeserializeFromString<HintsCount>("{\"Hints\":6}");
答案 1 :(得分:1)
注意这是无效的JSON:
"{Hints:6}"
JSON requires引用对象文字的所有属性名称,改为:
"{\"Hints\":6}"
您可以序列化模型以找出正确的JSON应该是什么,例如:
new HintsCount { Hints = 6 }.ToJson().Print();