C# 从 Cosmos db 获取其中包含数组的 json

C# getting json with array in it from Cosmos db

我需要从我的 CosmosDb 中检索以下 JSON,但我认为 C# 代码(适用于简单的 JSON 结构)需要帮助。 响应仅显示

{ RolePermission[0]  } 



var response = this.client.CreateDocumentQuery<RolePermission>(
                       UriFactory.CreateDocumentCollectionUri("demo", "RoleMenus"), queryOptions)
                       .Where(f => f.RoleName == roleName).AsEnumerable().ToArray();

而 JSON 是:

{
"id": "1",
"RoleName": "Admin",
"Menus": [
    {
        "Item": "Admin",
        "Display": "Admin",
        "Granted": true
    },
    {
        "Item": "Users",
        "Display": "Users",
        "Granted": true
    }
],
}

Class defn,我想把它改成:

public class RolePermission
{
    [DisplayName("Role Name")]
    public string RoleName { get; set; }
    public List<Menus> Menus { get; set; }
}

public class Menus
{
    public string Item { get; set; }
    public string Display { get; set; }
    public bool Granted { get; set; }
}

我只需要 JSON

的菜单部分

谢谢

根据您提供的数据和代码,它应该return您需要的列表“菜单” 使用以下查询

var response = this.client.CreateDocumentQuery<RolePermission>(UriFactory.CreateDocumentCollectionUri("demo", "RoleMenus"), queryOptions).Where(f => f.RoleName == roleName).ToList(); 

确保您在容器中的字段 RoleName 中插入了正确的数据。