簡體   English   中英

無法從BsonType'Array'反序列化'BsonDocument

[英]Cannot deserialize a 'BsonDocument from BsonType 'Array'

嘗試運行以下代碼:

var doc = BsonDocument.Parse(rawjson);

其中rawjson是:

[{"PersonName":"Jim Test"}]

返回以下錯誤:

Cannot deserialize a 'BsonDocument' from BsonType 'Array'.

根據大多數在線json驗證程序,rawjson似乎有效。 還有其他方法可以使用Mongodb C#驅動程序將其解析為BsonDocument嗎?

由於您不確定確切的rawjson數據類型, rawjson我假設您的意思是字符串。

BsonDocument.Parse()方法的手冊指定它接受string作為參數。

要么,您的“原始json”可能是JSON文檔的字符串:

var rawjson = "{'PersonName': 'Jim Test'}";
Console.WriteLine(BsonDocument.Parse(rawjson));

或者,它可以是字符串格式的JSON文檔數組:

string[] rawjson = { "{'PersonName': 'Jim Test'}" };
Console.WriteLine(BsonDocument.Parse(rawjson[0]));

或者,如果您的原始json字符串實際上是數組文檔的字符串形式:

var rawjson = "[{'PersonName': 'Jim Test'}]";

string[] separatingChars = { "[", ",", "]" };  // split on these chars
string[] docs = rawjson.Split(separatingChars, System.StringSplitOptions.RemoveEmptyEntries );  

foreach (string doc in docs) {
    Console.WriteLine(BsonDocument.Parse(doc));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM