SQL XML oder JSON, um über ASP.NET zu Objective-C zurückzukehren

8

Ich habe eine Frage zum Abrufen von Daten aus einer SQL-Datenbank über ASP.NET und Weiterleiten der Daten an Objective-C. Derzeit verwende ich nur eine SQL-Anweisung select, um Daten aus der Datenbank über ASP.NET zu erhalten, und ASP.NET gibt die Daten wie folgt zurück:

%Vor%

Und dann gebe ich in Objective-C die Daten wie folgt in ein NSDictionary:

%Vor%

Alles funktioniert wie erwartet hier.

Was ich jetzt mache, ist das Erstellen einer gespeicherten Prozedur, die XML zurückgibt und ASP.NET das XML zurückgibt (alles hier ist abgeschlossen und funktioniert wie erwartet). Das XML kam folgendermaßen heraus:

%Vor%

Nun für Ihre Objective-C-Fans, Sie wissen, dass Sie kein XML in NSDictionary haben können, wenn Sie nicht ein Objekt / eine Bibliothek eines Drittanbieters verwenden.

Nun, meine Frage ist, habe ich meine gespeicherte Prozedur wiederholen, um JSON oder dies gibt es eine andere Möglichkeit, um darüber zu gehen?

Mein Endziel ist, den Prozess so schnell wie möglich zu machen und die SQL-Abfrage ist riesig und gibt viele Zeilen zurück.

    
user979331 28.04.2016, 02:36
quelle

2 Antworten

2

Sie sollten

1) Wiederholen Sie Ihren gespeicherten Prozess und geben Sie die Rohdaten zurück.

2) asp.net muss mit der Datenformatierung umgehen, da einige Clients JSON wünschen, während andere xml bevorzugen. Wenn Sie also die JSON-Route verwenden, können Sie das JSON-Ergebnis vom MVC-Controller zurückgeben, d. h.

%Vor%

oder erstellen Sie einen Web-Service mit Web-API.

Da Sie eine große Ergebnismenge haben, sollten Sie versuchen, JSON zu verwenden, das weniger ausführlich als xml ist und somit weniger Ressourcen verbraucht.

    
dfdsfdsfsdf 05.05.2016 14:20
quelle
0

Ich würde gerne eine alternative Lösung anbieten, aber ich muss einige Annahmen treffen.

  

Nun ist meine Frage, ob ich meine gespeicherte Prozedur wiederherstellen muss, um JSON zurückzugeben   oder gibt es einen anderen Weg, dies zu tun?

Sie müssen JSON nicht zurückgeben, wenn Sie diesen zusätzlichen Schritt vermeiden können, es sei denn, Sie führen den Microsoft SQL Server 2016 aus, der jetzt das " FÜR JSON " Klausel aus der Box.

  

Mein Endziel ist es, den Prozess so schnell wie möglich und die SQL-Abfrage zu machen   ist riesig und gibt viele Zeilen zurück.

Hier kann "riesig" + "schnell" eine Rolle spielen. In jedem Fall könnten Sie den XML-Code auch direkt von Objective-C aus analysieren, wie es C # -Fan-Boys auch tun, ala XmlReader .

Es gibt natürlich dünne Wrapper, wie IGXMLReader . Und hier ist ein vorläufiges Beispiel gegen Ihr XML.

%Vor%

Ich habe ein Beispiel in github zusammengestellt, um das Konzept zu veranschaulichen.

    
Alex Nolasco 06.05.2016 00:41
quelle

Tags und Links