i new c#. have consumed mailchip api simple console app. pulling in relevant data , have used json deserializer on returned data (newtonsoft.json via nuget). need find best way place data variables can pass stored procedure save data. know sql , know how pass variables stored procedure in c# (connection strings , such).
what don't know how parse through deserialized data , place each value variable or can pass sql. know vague question here current code.
class mailchimpapiclient.cs:
//declare api key public const string apikey = "my api key here"; public static void apiget(string url) { //syncronious consumption var syncclient = new webclient(); syncclient.headers.add(apikey); var content = syncclient.downloadstring(url); //deseralize json string mailchimpdata data = jsonconvert.deserializeobject<mailchimpdata>(content); }
class: mailchimpdata.cs:
[datacontract]
public class mailchimpdata {
[datamember] public list<unsubscribes> unsubscribes { get; set; } [datamember] public string campaign_id { get; set; } [datamember] public list<link2> _links { get; set; } [datamember] public int total_items { get; set; } [datamember] public link link { get; set; } [datamember] public mergefields mergefields { get; set; } [datamember] public stats stats { get; set; } [datamember] public location location { get; set; } [datamember] public list<member> members { get; set; } [datamember] public string list_id { get; set; } } //unsubscribe data public class link { public string rel { get; set; } public string href { get; set; } public string method { get; set; } public string targetschema { get; set; } public string schema { get; set; } } public class unsubscribes { public string email_id { get; set; } public string email_address { get; set; } public string timestamp { get; set; } public string reason { get; set; } public string campaign_id { get; set; } public string list_id { get; set; } public list<link> _links { get; set; } } public class link2 { public string rel { get; set; } public string href { get; set; } public string method { get; set; } public string targetschema { get; set; } public string schema { get; set; } } //list data public class mergefields { public string fname { get; set; } public string lname { get; set; } } public class stats { public double avg_open_rate { get; set; } public int avg_click_rate { get; set; } } public class location { public double latitude { get; set; } public double longitude { get; set; } public int gmtoff { get; set; } public int dstoff { get; set; } public string country_code { get; set; } public string timezone { get; set; } } public class member { public string id { get; set; } public string email_address { get; set; } public string unique_email_id { get; set; } public string email_type { get; set; } public string status { get; set; } public mergefields merge_fields { get; set; } public stats stats { get; set; } public string ip_signup { get; set; } public string timestamp_signup { get; set; } public string ip_opt { get; set; } public string timestamp_opt { get; set; } public int member_rating { get; set; } public string last_changed { get; set; } public string language { get; set; } public bool vip { get; set; } public string email_client { get; set; } public location location { get; set; } public string list_id { get; set; } public list<link> _links { get; set; } }
program.cs:
class program { static void main(string[] args) { mailchimpapiclient.apiget("custom url here"); } }
so when run , in autos window of vs2013 see this:
members: count = 4 system.collections.generic.list
[0] {mailchimpapi.member} mailchimpapi.member
_links: count = 8 system.collections.generic.list
email_address: email address here string
email_client: string
email_type: html string
id: (id here) string
ip_opt: (ip here) string
ip_signup: string
language: string
last_changed: 9/16/15 19:31 string
list_id: (list id here) string
location: {mailchimpapi.location} mailchimpapi.location
member_rating: 3 int
merge_fields {mailchimpapi.mergefields} mailchimpapi.mergefields
stats: {mailchimpapi.stats} mailchimpapi.stats
status: unsubscribed string
timestamp_opt: 9/16/15 19:26 string
timestamp_signup: string
unique_email_id: (unique email id here) string
vip: false bool
[1] {mailchimpapi.member}: mailchimpapi.member
[2] {mailchimpapi.member}: mailchimpapi.member
[3] {mailchimpapi.member}: mailchimpapi.member
raw view
so each member (0-3), need pull each fields value (field names in bold) variable , save database. don't know how parse through each member.
i know long question simple c# problem, if can remember way beginning of post stated "i new c#"
thanks in advance.
Comments
Post a Comment