Wie zum Lesen von Daten aus json C#

Ich habe Folgendes json-Objekt, dass ich gehe, um meine c# - server

[
    {
        "ID": 1,
        "FirstName": "Jay",
        "LastName": "Smith"
    },
    {
        "ID": 2,
        "FirstName": "Rich",
        "LastName": "Son"
    },
    {
        "ID": 3,
        "FirstName": "Emmy",
        "LastName": "Wat"
    }
]

Ich eine Klasse erstellen wie diese

public class Person
{
    public int ID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

}

Wenn ich dies tun

public static string addRecord(string details)
{
    Person tempRecord = JsonConvert.DeserializeObject<Person>(details);
    string tempFN = tempRecord.FirstName;
    return tempFN;
}

Komme ich nicht an das tatsächliche Ergebnis.

Was mache ich Falsch? Muss ich eine andere Liste in meiner Klasse "Person"? Keine Hilfe?

UPDATE - mein Rekord ist aus dem Netz und dies ist, wie schicke ich es zu meinem server

    var jsonD = Ext.encode(Ext.pluck(this.myGridStore.data.items, 'data'));
    Ext.Ajax.request({
        scope: this,
        method: 'POST',
        url: 'myApp/AddRecord',
        headers: { 'Content-Type': 'application/json' },
        dataType: 'json',
        jsonData: jsonD,
        success: function (response) {
        },
        failure: function (response) {
        }
    });
  • Nun, wie tun Sie es überhaupt? Ich empfehlen Json.NET aber es ist schwer zu erkennen "was ist falsch", wenn keine details der Implementierung oder falsche Ergebnisse erwähnt werden.
  • addRecord gibt einen string zurück, ist aber als int deklariert?
  • Ja, Sie zeigen keine code für die Deserialisierung des JSON-damit sind wir nicht sicher, wie Sie Sie und Handhabung dieser.
  • Haben Sie schaute auf das bestehende Stack-Overflow-Frage: Wie Konvertieren von JSON-Objekt, um Benutzerdefinierte C# - Objekt?? Wenn das ist nicht, was Sie suchen, beantworten Sie bitte die Fragen aus dem obigen Kommentare.
  • Danke... ich habe aber mein problem ist, ich leite mehrere Objekte.. wenn es nur ein Satz von firstname, lastname, ich kann es tun, aber mit mehreren Objekten, ich bin nicht sicher, wie zu es tun
  • Ist AddRecord konfiguriert zu erwarten JSON? Standardmäßig ziemlich jeder C# - service, den ich kenne, erwartet von XML.
  • ja AddRecord konfiguriert ist zum Lesen von JSON ist es, die mehrere Objekte in einem Aufruf, der ich bin-Problem...
  • Sicher, kein problem. Sie Hinzugefügt haben, wird der JavaScript-code, den Sie zum senden von JSON, was aber über die einschlägigen C# - code? Was sind Sie vorbei addRecord, wie ist bevölkert von JSON, was für ein Ergebnis bekommst du, anstatt die, die Sie erwartet hatten? Kurzum, ein SSCCE.
  • bitte siehe mein update auf AddRecord... Auch mit JSON Deserialisieren, bekomme ich eine leere Zeichenkette.
  • Ja, ich sehe. Dies ist nicht wirklich mein Fachgebiet, aber versuchen List<Person> tempRecord = JsonConvert.DeserializeObject<List<Person>>(details);. Sie sollten dann in der Lage sein zu Durchlaufen, die.
  • Ich danke Ihnen, sir... Sie hallte Amy ' s Antwort... wirklich zu schätzen Ihre Zeit und Mühe 🙂

InformationsquelleAutor EagleFox | 2013-06-27
Schreibe einen Kommentar