使用JSON时如何让ServiceStack使用破折号格式化Guids?

时间:2012-03-19 16:17:44

标签: c# json servicestack guid

使用ServiceStack从帖子返回一个简单的User对象。

用户对象非常简单:

public class User
{
    public Guid Id { get; set; }
    public string Username { get; set; }
}

帖子方法:

public override object OnPost(User user)
{
    User newUser;
    // Do stuff to user...
    return newUser;
}

我的问题是ServiceStack在没有破折号的情况下格式化Guid,因此JSON响应看起来像像这样:

{"id":"c884ce020ec94c65a8788c2ddc500434","username":"new user name"}

客户端是Android / Java客户端,UUID.fromString()方法对此格式感到不安。

有没有办法强制ServiceStack返回用破折号格式化的Guid?

1 个答案:

答案 0 :(得分:30)

您可以将Guid序列化程序覆盖为

ServiceStack.Text.JsConfig<Guid>.SerializeFn = guid => guid.ToString();