protected static BunqResponse <T> FromJson <T>(BunqResponseRaw responseRaw) { var responseItemObject = GetResponseItemObject(responseRaw); var responseValue = BunqJsonConvert.DeserializeObject <T>(responseItemObject.ToString()); return(new BunqResponse <T>(responseValue, responseRaw.Headers)); }
private static JObject GetResponseItemObject(BunqResponseRaw responseRaw) { var json = Encoding.UTF8.GetString(responseRaw.BodyBytes); var responseWithWrapper = BunqJsonConvert.DeserializeObject <JObject>(json); return(responseWithWrapper.GetValue(FIELD_RESPONSE).ToObject <JArray>().Value <JObject>(INDEX_FIRST)); }
/// <summary> /// De-serialize an object from JSON. /// </summary> protected static BunqResponse <T> FromJson <T>(BunqResponseRaw responseRaw, string wrapper) { var responseItemObject = GetResponseItemObject(responseRaw); var unwrappedItemJsonString = GetUnwrappedItemJsonString(responseItemObject, wrapper); var responseValue = BunqJsonConvert.DeserializeObject <T>(unwrappedItemJsonString); return(new BunqResponse <T>(responseValue, responseRaw.Headers)); }
/// <summary> /// De-serializes an UUID object and returns its string value. /// </summary> protected static BunqResponse <string> ProcessForUuid(BunqResponseRaw responseRaw) { var responseItemObject = GetResponseItemObject(responseRaw); var unwrappedItemJsonString = GetUnwrappedItemJsonString(responseItemObject, FIELD_UUID); var responseValue = BunqJsonConvert.DeserializeObject <Uuid>(unwrappedItemJsonString).UuidString; return(new BunqResponse <string>(responseValue, responseRaw.Headers)); }
/// <summary> /// De-serializes an ID object and returns its integer value. /// </summary> protected static BunqResponse <int> ProcessForId(BunqResponseRaw responseRaw) { var responseItemObject = GetResponseItemObject(responseRaw); var unwrappedItemJsonString = GetUnwrappedItemJsonString(responseItemObject, FIELD_ID); var responseValue = BunqJsonConvert.DeserializeObject <Id>(unwrappedItemJsonString).IdInt; return(new BunqResponse <int>(responseValue, responseRaw.Headers)); }
/// <summary> /// De-serializes an object from a JSON format specific to Installation and SessionServer. /// </summary> protected static BunqResponse <T> FromJsonArrayNested <T>(BunqResponseRaw responseRaw) { var json = Encoding.UTF8.GetString(responseRaw.BodyBytes); var jObject = BunqJsonConvert.DeserializeObject <JObject>(json); var jsonArrayString = jObject.GetValue(FIELD_RESPONSE).ToString(); var responseValue = BunqJsonConvert.DeserializeObject <T>(jsonArrayString); return(new BunqResponse <T>(responseValue, responseRaw.Headers)); }
protected static BunqResponse <List <T> > FromJsonList <T>(BunqResponseRaw responseRaw) { var responseObject = DeserializeResponseObject(responseRaw); var responseValue = responseObject .GetValue(FIELD_RESPONSE).ToObject <JArray>() .Select(itemObject => BunqJsonConvert.DeserializeObject <T>(itemObject.ToString())) .ToList(); var pagination = DeserializePagination(responseObject); return(new BunqResponse <List <T> >(responseValue, responseRaw.Headers, pagination)); }
private static JObject DeserializeResponseObject(BunqResponseRaw responseRaw) { var json = Encoding.UTF8.GetString(responseRaw.BodyBytes); return(BunqJsonConvert.DeserializeObject <JObject>(json)); }