C# 从couchbase视图将JSON对象解析为模型列表

C# 从couchbase视图将JSON对象解析为模型列表,c#,.net,couchbase,couchbase-view,C#,.net,Couchbase,Couchbase View,我正在尝试在couchbase中创建mapreduce视图,例如。现在我在couchbase服务器中的视图代码如下所示 function(doc, meta) { emit(doc.content,null); } 我在其中发送文档的内容 因此,当我在(result.rows中的var rows)中迭代时,我想将内容(JSON)中的每个值分配给一个模型列表(abc),该列表在类中具有序列号、ULDNAMER和赋值日期的get/set row.key值已更改 {{ "serialNumb

我正在尝试在couchbase中创建mapreduce视图,例如。现在我在couchbase服务器中的视图代码如下所示

function(doc, meta)
{
  emit(doc.content,null);
}
我在其中发送文档的内容

因此,当我在
(result.rows中的var rows)
中迭代时,我想将内容(JSON)中的每个值分配给一个模型列表(abc),该列表在类中具有
序列号
ULDNAMER
赋值日期的get/set

row.key值已更改

{{
  "serialNumber": "1",
  "uldNumber": "33",
  "assignedDate": "2033-02-17T09:10:38"
}}
我的班级看起来像

 public class abc
    {
        //[JsonProperty("serialNumber")]
        public string SerialNumber { get; set; }

        //[JsonProperty("uldNumber")]
        public string UldNumber { get; set; }

        //[JsonProperty("assignedDate")]
        public DateTime AssignedDate { get; set; }
    }
如果我尝试这样反序列化它

 JsonSerializer js = new JsonSerializer();                       
 _abcList.Add(js.Deserialize<dynamic[]>(row));
JsonSerializer js=new-JsonSerializer();
_Add(js.Deserialize(row));
我得到
“无法从'Couchbase.Views.ViewRow'转换为'Newtonsoft.Json.JsonReader'

如果我要这样做,
row.Key.toString(),我得到异常错误的
'Newtonsoft.Json.Linq.JObject'

“无法将couchbase.views.viewrow转换为字符串”


我已经查看了和,但这两个都不起作用。

当您执行这样的emit语句时:

emit(doc.content, null);
您只是将视图键设为doc.content,并将行数据保留为空。你可以试试这个:

emit(doc.content, doc);
这将使行内容成为文档中的完整数据。或者,您可以使用row.Id获取文档Id,并使用Read(row.Id)读取文档。速度较慢,但视图使用的存储空间较少

此外,通常不会将JSON对象映射放在键中。通常,它要么是一个像数字或字符串这样的单个值,要么是一个值数组。数组更易于用于视图查找