2014-11-19 26 views
5

Właśnie zacząłem pracować nad MongoDB. Z mojego klienta JavaScript wysyłam ciąg znaków JSON do projektu ASP.NET WEB API. Czy możliwe jest bezpośrednie użycie tego ciągu JSON i zapisanie go w MongoBD? Chcę również wiedzieć, czy to podejście ma sens?Jaki jest najłatwiejszy sposób konwertowania JSON na BSON w świecie .net

myślę o przejściu JSON od klienta i po stronie serwera przeczytać string jak

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

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

Odpowiedz

0

Tak można. , ale należy pamiętać, że wysyłanie danych po stronie klienta bez sprawdzania danych użytkownika może prowadzić do problemów bezpieczeństwa (Nigdy nie ufaj wprowadzeniu użytkownika). Możesz to zrobić, korzystając z metod zbierania insert. miej na uwadze, że jeśli nie będziesz miał w swoim jsonie monstrum, to wyprodukuje go dla ciebie.

na przykład ja stworzy dokument w Kolekcji „test” jak ten

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

i wynik może być coś takiego

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

Spróbuj tego!

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

Spróbuj tego:

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