2014-11-19 15 views
5

Ich begann gerade mit der Arbeit an MongoDB. Von meinem JavaScript-Client aus sende ich eine JSON-Zeichenfolge an das ASP.NET-Web-API-Projekt. Ist es möglich, diese JSON-Zeichenfolge direkt zu verwenden und sie in MongoBD zu speichern? Ich möchte auch wissen, ob dieser Ansatz sinnvoll ist?Was ist der einfachste Weg, um JSON in BSON in .net Welt zu konvertieren

I des Leitens des JSON von Client und auf der Server-Seite denke lesen die string als

[System.Web.Mvc.HttpPost] 
    public dynamic SaveData([FromBody] string data) 
    { 

     System.Web.HttpContext.Current.Request.Form[0] 
     return null; 
    } 

Antwort

0

Ja, Sie können. Beachten Sie jedoch, dass das Senden von clientseitigen Daten ohne Überprüfung der Benutzerdaten zu Sicherheitsproblemen führen kann (Niemals auf die Eingaben des Benutzers vertrauen). Sie können dazu die Sammlungsmethoden insert verwenden. Denken Sie daran, dass, wenn Sie _id in Ihrem JSON nicht haben werden Mongodb wird es für Sie produziert.

wird zum Beispiel erstelle ich ein Dokument in der Sammlung "test", wie die

db.test.insert(
{ 
    "foo":"bar" 
} 
); 

und das Ergebnis kann wie etwas sein, das

{ 
    "_id" : ObjectId("546c9be08e66b0571a5e3965"), 
    "foo" : "bar" 
} 
0

Try this!

string json = "{ 'foo' : 'bar' }"; 
MongoDB.Bson.BsonDocument document 
= MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(json); 
3

Versuchen Sie folgendes:

string json = "..."; 
BsonDocument.Parse(json); 
Verwandte Themen