JSON vs Protobuf

I did a few tests to compare the data payload sizes of different serialization methods on .NET client server communications.

The test was basically to execute a request/response 20 times.

Request

[Serializable]
[ProtoContract]
public class GetRatingRequest
{
        [ProtoMember(1)]
        public int Rating;
        [ProtoMember(2)]
        public int Count;
        [ProtoMember(3)]
        public float A;
        [ProtoMember(4)]
        public float B;
        [ProtoMember(5)]
        public float C;
        [ProtoMember(6)]
        public float D;
        [ProtoMember(7)]
        public float E;
}

Response

[Serializable]
[ProtoContract]
public class GetRatingResponse
{
        [ProtoMember(1)]
        public List<RatingRatings;
}

[Serializable]
[ProtoContract]
public class Rating
{
        [ProtoMember(1)]
        public bool HighRating { get; set; }
        [ProtoMember(2)]
        public RatingDetail Details { get; set; }