See the question and my original answer on StackOverflow

The string is a base-64 encoded string representing the guid's byte array, but you need to deal with byte UUD encoding, so you can have it back like this:

public static Guid ToGuid(string jsonUuid)
{
    byte[] bytes = Convert.FromBase64String(jsonUuid);
    byte[] rbytes = new byte[16];
    rbytes[0] = bytes[4];
    rbytes[1] = bytes[5];
    rbytes[2] = bytes[6];
    rbytes[3] = bytes[7];
    rbytes[4] = bytes[2];
    rbytes[5] = bytes[3];
    rbytes[6] = bytes[0];
    rbytes[7] = bytes[1];
    rbytes[8] = bytes[15];
    rbytes[9] = bytes[14];
    rbytes[10] = bytes[13];
    rbytes[11] = bytes[12];
    rbytes[12] = bytes[11];
    rbytes[13] = bytes[10];
    rbytes[14] = bytes[9];
    rbytes[15] = bytes[8];
    return new Guid(rbytes);
}

or like this:

public static Guid ToGuid(string jsonUuid)
{ 
    return new Guid(Convert.FromBase64String(jsonUuid));
}