예제 #1
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var result = new ErrorResponse();

            while (reader.Read())
            {
                if (reader.TokenType == JsonToken.PropertyName && reader.Value.ToString().Equals("error") && reader.Read())
                {
                    result.Add(serializer.Deserialize <ErrorMessage>(reader));
                }
            }

            return(result);
        }
예제 #2
0
        protected override IHueResponse Deserialize(string json)
        {
            var successMessage = JsonConvert.DeserializeObject <SuccessResponse>(json, new SuccessResponseConverter(Address));

            if (successMessage.Any(p => p.Key == "name" && p.Value.ToString().Equals(NewName)))
            {
                return(successMessage);
            }
            var error = new ErrorResponse();

            error.Add(new ErrorMessage {
                Address = Address, Description = "No error returned, but desired name isn't set either.", Type = ErrorCode.InternalError
            });
            return(error);
        }