static void HierarchyCSV() { using (var p = new ChoCSVReader("Players.csv").WithFirstLineHeader()) { using (var w = new ChoJSONWriter <Players>("Players.json").Configure(c => c.UseJSONSerialization = true).Configure(c => c.SupportMultipleContent = true)) { w.Write(new Players { players = p.Select(e => new Player(e)).ToArray() }); } } }
/// <summary> /// load athlete csv file and convert it to List /// </summary> /// <param name="filename">the name of csv file </param> /// <returns></returns> public static AthletesDTO LoadCsvFile(string filename) { try { // read csv file with no column headers using (var athleles = new ChoCSVReader <Athlele>(filename)) { var mapper = AltheteMapper.getMapper(); return(new AthletesDTO { rows = athleles.Select(athlete => mapper.Map <AthleleDTO>(athlete)).ToList() }); } } catch (Exception e) { throw new Exception(e.Message); } }
public static void CSVWithJSON() { using (var parser = new ChoCSVReader <EmpWithJSON>("emp1.csv")) { parser.BeforeRecordFieldLoad += (o, e) => { if (e.PropertyName == "JsonValue") { EmpWithJSON rec = e.Record as EmpWithJSON; dynamic jobject = ChoJSONReader.LoadText((string)e.Source).FirstOrDefault(); rec.product_version_id = jobject.product_version_id; rec.product_version_name = jobject.product_version_name; e.Skip = true; } }; using (var jp = new ChoJSONWriter("emp1.json")) jp.Write(parser.Select(i => new { i.Id, i.Name, i.product_version_id, i.product_version_name })); //foreach (var rec in parser) // Console.WriteLine(rec.product_version_id); } }
static void ConvertToNestedObjects() { using (var json = new ChoJSONWriter("nested.json").Configure(c => c.UseJSONSerialization = false)) { using (var csv = new ChoCSVReader("nested.csv").WithFirstLineHeader()) json.Write(csv.Select(i => i.ConvertToNestedObject('_'))); } return; ExpandoObject dict = new ExpandoObject(); IDictionary <string, object> root = dict as IDictionary <string, object>; root.Add("id", 1); root.Add("name", "NYC"); root.Add("category/id /", 11); root.Add("category /name ", "NJ"); root.Add("category/subcategory/id", 111); root.Add("category/subcategory/name", "MA"); using (var json = new ChoJSONWriter <dynamic>("nested.json")) json.Write(dict.ConvertToNestedObject()); }