7

我正在尝试使用ServiceStack.Text具有非 C# 类属性名称约定的库来反序列化 JSON 数据,特别是如下蛇案例:

{
    "first_name": "Foo",
    "last_name": "Bar"
}

我想将其反序列化为 POCO:

public class MyDto
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

我目前正在这样做:

var dto = JsonSerializer.DeserializeFromString<MyDto>(dtoData);

但这不会识别属性名称。我以前在Newtonsoft.Json使用自定义ContractResolver. 这应该如何使用ServiceStack.Text

我不想用属性装饰我的 dto 类,DataMember因为这似乎是数据源的问题,而不是 dto 本身,因此应该由执行反序列化的代码处理。

4

1 回答 1

9

查看JsConfig以了解ServiceStack 的 JSON 和文本序列化程序支持的所有不同配置和自定义,例如:

JsConfig.Init(new Config { TextCase = TextCase.SnakeCase });

应该做你想做的。

于 2013-02-11T15:58:10.747 回答