JSON.NET Hinzufügen/Bearbeiten Kinder

Ich versuche momentan zu Lesen, dass ein JSON-Dokument vom webserver (es ist eine physische json-Datei) und überprüfen Sie die änderungen gegenüber meiner Datenbank. In anderen Worten, ich brauche zum synchronisieren der json-Dokument und der Datenbank jede Nacht oder so.

Für diese bin ich mit JSON.NET, die ich glaube, ist der Weg zu gehen, wenn die Arbeit mit JSON in C# (?) Die .NET-Plattform ist die version 3.5.

Bisher bin ich in der Lage, um das Dokument Lesen und Werte aus.

Mein JSON sieht wie folgt aus:

{"members":[

{"member":
    {
        "id":"4282",
        "status":"1931",
        "aktiv":"1",
        "firmanavn":"firmname1",
        "firmaUrl":"www.firmsite.com",
        "firmaUrlAlternativ":"",
        "firmaSidstKontrolleretDato":"30-08-2010",
        "firmaGodkendelsesDato":"07-03-2002"
    }
},
{"member":
    {
        "id":"4283",
        "status":"1931",
        "aktiv":"1",
        "firmanavn":"firmname2",
        "firmaUrl":"www.firmsite.com",
        "firmaUrlAlternativ":"",
        "firmaSidstKontrolleretDato":"30-08-2010",
        "firmaGodkendelsesDato":"18-12-2000"
    }
}, .... and so on
]}

Und mein C# - code ist wie folgt:

using (TextReader reader = File.OpenText(Server.MapPath("~/members.json")))
    {
        JsonTextReader jsonreader = new JsonTextReader(reader);
        var o = JObject.ReadFrom(jsonreader);
        jsonreader.Close();
        JObject obj = JObject.Parse(o.ToString());

        JArray items = (JArray)obj["members"];
        var members = Member.GetAllAsList();

        JObject item;
        JToken token;

        List<string> currentIds = new List<string>();
        for (int i = 0; i < items.Count; i++)
        {
            item = (JObject)items[i];
            token = item.First;

            while (token != null)
            {
                //ltTest.Text += ((JProperty)token).Value["firmanavn"].ToString() + System.Environment.NewLine;
                currentIds.Add(((JProperty)token).Value["id"].ToString());
                token = token.Next;
            }
        }

        foreach (var member in members)
        {
            if (!currentIds.Contains(member.Id.ToString()))
            {
                ltTest.Text += member.Text;
            }
        }
    }

Also im Grunde gibt es drei Szenarien jetzt:

  • Einen Mitglieder-Informationen wurden in der Datenbank geändert: ich brauche zu finden, die Mitglied in der JSON-Dokument und aktualisieren Sie die entsprechenden Felder
  • Einem Mitglied aus der Datenbank gelöscht wurden: ich brauche zu finden, die Mitglied in der JSON-Dokument und löschen es.
  • Mitglied wurde der Datenbank Hinzugefügt: ich muss hinzufügen, dass Sie Mitglied der JSON-Dokument.

So, ist jemand vertraut mit JSON.NET einen Hinweis darauf zu geben (oder vielleicht einige code-Beispiele?) wie Sie diese erreichen? Ich machte es kaum, tatsächlich Lesen Sie die json-Dokument vom server, also das scheint ein harter Kampf für mich im moment.

Sie erkennen, können Sie serialisieren und Deserialisieren nach/von json nativ, richtig? Wie bei Xml-Serialisierung. Von dort aus sind Sie nur mit Objekten arbeiten .net. Keine sonderbaren API zu lernen.

InformationsquelleAutor bomortensen | 2011-09-13

Schreibe einen Kommentar