将MongoDB Json转换为C#类

时间:2016-09-26 09:40:38

标签: c# json mongodb

我是由“mongoDBResult”调用的MongoDB的结果

[{
    "_id": {
        "$oid": "57e8e914c2ef164375bc0957"
    },
    "user": "456"
},
{
    "_id": {
        "$oid": "57e8ea87bd966f3e6de5361b"
    },
    "user": "admin"
}]

我的班级定义

public class Id
{
    public string oid { get; set; }
}

public class User
{       
    public Id _id { get; set; }
    public string user { get; set; }
}

但是当我像这样使用JsonConvert.DeserializeObject时:

var user = JsonConvert.DeserializeObject<List<User>>(mongoDBResult);

我可以获得用户名的值,我想获得Id.oid的值,但仍然总是为空

任何人都可以帮助我如何以完美的方式从MongoDB转换为C#Class?

2 个答案:

答案 0 :(得分:3)

你的问题在这里:

<强> JOSN

"$oid": "57e8e914c2ef164375bc0957"

<强> CODE

public string oid { get; set; }

在JSON中,代码$oid

中有oid

您可以尝试:

[JsonProperty(PropertyName = "$oid")]
public string oid { get; set; }

或者你可以改变JSON,如果可以的话。

答案 1 :(得分:0)

尝试以下代码。

 Test routes_list = 
      (Test)json_serializer.DeserializeObject("{ \"test\":\"some data\" }");