Hallo zusammen,
bin neu im Forum und das ist mein erster Post. Nun zu meinem Anliegen. In einem Studi-Projekt schreibe ich ein Facebook-Message Crawler, um eine Sentiment-Analyse durchzuführen. Dafür nutze ich die Facebook Graph Api(JSON Notation) und das JSON.NET Framework.
public void facebookData()
{
string url = "http://graph.facebook.com/search?q=BMW&type=post";
WebClient wc = new WebClient();
string result = "";
try
{
result = wc.DownloadString(url);
facebookCrawler(result);
JObject objekt = JObject.Parse(result);
JArray data = (JArray)objekt["data"];
Console.WriteLine(data);
string message = (string)objekt["message"];
Console.WriteLine(message);
}
catch (System.Net.WebException ex)
{
StreamReader readStream = new StreamReader(ex.Response.GetResponseStream());
}
}
Die data-Schlüssel kann ich Parsen aber message kann ich nicht Parsen. Liegt es daran, dass es mehrere Schlüssel mit dem selben Namen gibt oder wegen der Verschachtelung? Hat jemand eine Idee
Vielen Dank vorab.
Seltesh
Es gibt für C# eine Facebook API, mit der Du nicht mehr viel tun musst - außer den AuthToken.
Json serialisiert man am besten mit Newtonsoft.Json und alles andre sollte ja dann kein Problem sein.
Was Deine mit der Message soll: Du erklärst nichst, zeigst keine passenden Daten, die zu einem Fehler passen noch gibst Du den Fehler an sich im Wortlaut wieder.
Beachte [Hinweis] Wie poste ich richtig? Punkt 5
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo Abt
danke für den freundlichen Hinweis bzgl. Posting. Das hatte ich mir bereits durchgelesen.
Dafür nutze ich die Facebook Graph Api(JSON Notation) und das JSON.NET Framework.
Hier erwähne ich m.E. dass ich Newtonsoft.Json verwende. Eine Fehlermeldung gibt es nicht.
Die data-Schlüssel kann ich Parsen aber message kann ich nicht Parsen
Hier drücke ich m.E die Problematik in Worten aus. Ich poste ja auch ne fertige Methode, aus der man auch einige Informationen entnehmen kann.
seltesh
Nein, Du zeigst nicht den Inhalt, was Du parsen willst und Du kannst nicht von jedem erwarten, dass er die Facebook Graph API ausführt, um Dir zu helfen.
Also musst Du uns ein wenig mehr Infos geben.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Naja zwar nicht wirklich produktiv aber wenn es helfen soll. Hier die Ausgabe des Code-Ausschnitts als Bild im Anhang. Ich möchte die "message" in eine Arraylist (anschließend in eine DB) speichern.
Naja, das sieht man ja, wieso das nicht geparst werden kann: ungültiges Json.
"message" : ""Ent......
Da ist nen doppeltes Anführungszeichen - so nicht erlaubt.
Sicher, dass Du hier mit Json Rohdaten arbeitest? Was macht FacebookCrawler? Scheint nichts offizielles zu sein (weswegen ich Dich auf die C# Facebook SDK hingewiesen habe).
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Das doppelte Anführungszeichen ist eine Ausnahme in der einen Nachrichte weiter unten ist es nicht so. Die Facebook SDK konnte in VS nicht einbinden es entstehen Fehler bei den Verweisen.
Ob das eine Ausnahme ist oder nicht interessiert JSon.net recht wenig. Dadurch ist das Json invalid und kann nicht geparst werden
Das C# Facebook SDK funktioniert wunderbar. Habe ich auch in Verwendung.
Es wird also viel mehr an Deiner Handhabung liegen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code