Ich versuche, die folgende in einem Dictionary<string,string>
Mit JSON.net definieren Klasse mit Array in Wörterbuch
{
"name": "Bob Barker",
"devName": "InformationServices",
"ReturnedData": [{
"level_heading": "blah1",
"DeliverBestMedicalValue": "blah2",
"level_question": "blah3"
}]
}
Ich kann hinzufügen, die Namen und devName ganz gut, aber ich bin nicht sicher, wie man zu tun gehen Sie über den ReturnedData Teil des Arrays zu der Liste hinzufügen, so dass es wie das obige Layout zurückgibt?
Beispiel Code Ich verwende:
febRecords.RootObject febRecordsData = JsonConvert.DeserializeObject<febRecords.RootObject>(serverResponse);
Dictionary<string,string> febFormData = new Dictionary<string,string>();
febFormData.Add("name", data.firstname.ToString());
febFormData.Add("devName", febData["Data"]["DevisionName"].ToString());
febFormData.Add("ReturnedData", ???); //<-this is where I am stuck
return Ok(JsonConvert.SerializeObject(febFormData, Newtonsoft.Json.Formatting.Indented));
Wie Sie sehen, febFormData.Add ("ReturnedData", ???); ist der Punkt, an dem ich feststecke und nicht wirklich weiß, was zu tun ist, damit das Wörterbuch das richtige JSON-Format ausgibt, wie ich es möchte.
Jede Hilfe wäre großartig!
Update
Wäre dies, wie die Klasse aussehen muss?
public class theOutput
{
public string name { get; set; }
public string devName { get; set; }
public List<string> ReturnedData { get; set; }
}
welche Daten möchten Sie tun? –
Warum erstellen Sie ein Wörterbuch Stück für Stück, anstatt eine Klasse mit Eigenschaften wie 'name',' devName' usw. zu verwenden? Auf der anderen Seite könnten Sie mit der Deserialisierung * des Samples Json beginnen und das resultierende Objekt beobachten. 'ReturnedData' sieht aus wie ein Array von Objekten mit den Eigenschaften' level_heading' usw. –
Ich bin mir nicht sicher, aber probiere 'new Dictionary();' wechsle nach 'new Dictionary (); 'und dann für * ReturnedData * benutze' Dictionary (); '... zum Beispiel:' Dictionary retData = new Dictionary (); retData.Add ("level_heading", "blah1"); ... 'und dann' febFormData.Add ("ReturnedData", retData); '... benutze ich' vb.net', nehme ich an, dass dies die korrekte Umwandlung in 'C#' ist. –
nelek