- Ich möchte Datensätze aus der Datenbank in eine
DataTable
. - Konvertieren Sie dann das
DataTable
in ein JSON-Objekt. - Geben Sie das JSON-Objekt an meine JavaScript-Funktion zurück.
Ich benutze diesen Code, indem ich anrufe:
string result = JsonConvert.SerializeObject(DatatableToDictionary(queryResult, "Title"), Newtonsoft.Json.Formatting.Indented);
Um eine DataTable in JSON zu konvertieren, funktioniert sie ordnungsgemäß und gibt Folgendes zurück:
{
"1": {
"viewCount": 703,
"clickCount": 98
},
"2": {
"viewCount": 509,
"clickCount": 85
},
"3": {
"viewCount": 578,
"clickCount": 86
},
"4": {
"viewCount": 737,
"clickCount": 108
},
"5": {
"viewCount": 769,
"clickCount": 130
}
}
Aber ich möchte, dass es Folgendes zurückgibt:
{"records":[
{
"Title": 1,
"viewCount": 703,
"clickCount": 98
},
{
"Title": 2,
"viewCount": 509,
"clickCount": 85
},
{
"Title": 3,
"viewCount": 578,
"clickCount": 86
},
{
"Title": 4,
"viewCount": 737,
"clickCount": 108
},
{
"Title": 5,
"viewCount": 769,
"clickCount": 130
}
]}
Wie kann ich das machen?
Antworten:
Dieses Codefragment von " Datatable in JSON-Zeichenfolge konvertieren" in C #, VB.NET, kann Ihnen helfen. Es verwendet System.Web.Script.Serialization.JavaScriptSerializer, um den Inhalt in das JSON-Format zu serialisieren:
quelle
Wir können die Aufgabe auf zwei einfache Arten ausführen: Die eine verwendet die Json.NET-DLL und die andere die StringBuilder-Klasse.
Verwenden von Newtonsoft Json.NET
Referenzlink: Newtonsoft: Konvertieren von DataTable in JSON-Objekt in ASP.Net C #
Verwenden von StringBuilder
quelle
Dies hat einen ähnlichen Ansatz wie die akzeptierte Antwort, verwendet jedoch LINQ, um Daten in eine Liste in einer einzigen Codezeile zu konvertieren.
Dies ist eine unglaublich nützliche Methode, um eine Datentabelle aufzulisten, was normalerweise eine Menge Codierung erfordern würde! Hier sind einige Variationen:
Dies ist kein Thema für die ursprüngliche Frage, aber der Vollständigkeit halber würde ich erwähnen, dass Sie diese Antwort sehen sollten , wenn Sie nur Zeilen aus einer vorhandenen Datentabelle herausfiltern möchten
quelle
Ein alternativer Weg ohne Javascript Serializer:
quelle
Sie können den gleichen Weg wie von Alireza Maddah angegeben verwenden. Wenn Sie zwei Datentabellen in einem JSON-Array verwenden möchten, gehen Sie wie folgt vor:
Der gleiche Weg kann für beliebig viele Datentabellen verwendet werden.
quelle
Konvertieren Sie Daten mit JS # .net in JSON
quelle
Probieren Sie diese benutzerdefinierte Funktion aus.
quelle
Führen Sie die folgenden Schritte aus, um auf den konvertierbaren datierbaren Wert in der Json-Methode zuzugreifen:
quelle
Ich habe eine einfache Funktion zum Konvertieren von Daten in JSON-Zeichenfolgen.
Ich habe Newtonsoft verwendet, um einen String zu generieren. Ich verwende Newtonsoft nicht, um Datatable vollständig zu serialisieren. Sei vorsichtig damit.
Vielleicht kann das nützlich sein.
quelle
Versuchen Sie dies (ExtensionMethods):
und verwenden:
quelle
Mit Cinchoo ETL - einer Open Source-Bibliothek - können Sie DataTable mit wenigen Codezeilen einfach nach JSON exportieren
Ausgabe:
quelle
Sehr einfach in diesen Tagen ..
Konvertieren Sie jetzt Ihren Json in eine Datentabelle:
Funktioniert auch für DataSets.
quelle
quelle
quelle
Übergeben Sie die Datentabelle an diese Methode, die json String zurückgeben würde.
quelle
Ich benutze diese Funktion zur Beschreibung der Tabelle.
Verwenden Sie es nach dem Ausfüllen datatable
MySQL-Abfrage: "DESCRIBE TableName;"; DataTableToJSON (dataTable) Beispielausgabe:
Getestet mit PHP:
quelle