我有一个这样的课程:
class Document
{
public string id {get;set;}
public string name {get;set;}
}
var doc = new Document() { id= "1", name = "Doc1" };
var docs = new List<Document>() { doc };
...
我通过HTTP发送文档到我的后端服务。
在我的控制器中,我收到它作为列表文档。
原因是,我想使用一个控制器来接受任何自定义类型。
问题是,列表文档中的每个项目都包含在额外的花括号中
"{{\"id\":\"1\", \"name\":\"Doc1\"}}"
答案 0 :(得分:0)
有一种名为Newtonsoft.Json的东西。它有很多方法,如Serialize
和Deserialize
个对象。检查link。特别是当您向Api发送值时,Api应该接受您发送的相同内容。如果您要发送List,则Api应在其参数中接受相同的类List。
如果您从API获得某些结果/您正在使用API,则应该反序列化结果中收到的字符串。
为此,您可以使用 - :
答案 1 :(得分:0)
序列化文档列表的实际输出是:
[{"id":"1","name":"Doc1"}]
外部[]
是一个数组,{id: number, name: string}
内的每个对象都是您的文档。
var doc = new Document { id = "1", name = "Doc1" };
var docs = new List<Document> { doc };
var result = Newtonsoft.Json.JsonConvert.SerializeObject(docs);
Console.WriteLine(result);