0
            String zohoResponse = @"
    
    [
      {
        'Title':'Mr.',
        'First Name':'ram',
        'Last Name':'chang',
        'Employed at Trade Client Name':'mile travel',
        'Telephone':'657498333',
        'E-mail':'abc@traveller.com',
        'Fax':' ',
        'Street':'123 Street',
        'City':'Winnipeg',
        'State / Province':'Manitoba',
        'Country':'Canada',
        'Postcode':'R4T 600',
        'Agent ID':70,
        'Primary Sales Agent':' ',
        'Employed at From':'09/12/2008',
        'Employed at To':'09/12/2028'
      } 
            ]
        ";  
    
    dynamic jsonObj = JsonConvert.DeserializeObject(zohoResponse);
        
        
         xmlData = new XDocument(
                            `enter code here`  new XElement("Leads",
                                  new XElement("row", new XAttribute("no", "1"),
                                  new XElement("FL", new XAttribute("val", "Lead Source"), jsonObj["Last Name"]),
                                 new XElement("FL", new XAttribute("val", "Title"),  jsonObj["First Name"])
                           )));
    

I want to retrieve the dynamic index values. i have used new

XElement("FL", new XAttribute("val", "Title"), jsonObj.GetType().GetProperty("Title").GetValue(jsonObj,null)) but am still getting exception on retrieve the values by index

Community
  • 1
  • 1
kimmie
  • 21
  • 8

1 Answers1

0

jsonObj is an array so you need to reach the first element in the array first before querying the json literal.

dynamic jsonObj = JsonConvert.DeserializeObject(zohoResponse);
dynamic arr = jsonObj.First;

var xmlData = new XDocument(
                    new XElement("Leads",
                            new XElement("row", new XAttribute("no", "1"),
                            new XElement("FL", new XAttribute("val", "Lead Source"), arr["Last Name"]),
                        new XElement("FL", new XAttribute("val", "Title"), arr["First Name"])
                    )));
Sagi
  • 8,972
  • 3
  • 33
  • 41