我想以下列格式序列化列表对象。
[]
没有commma,它应该是新行。
{" document_id":37577," document_name":" Office Marketview ........} {" document_id":37578," document_name":" Office Marketview ........} {" document_id":37579," document_name":" Office Marketview ........} {" document_id":37580," document_name":" Office Marketview ........} {" document_id":37581," document_name":" Office Marketview ........}
目前我正在使用
var jsoncontent = JsonConvert.SerializeObject(publicationClasses, Formatting.None);
不知道。 我谷歌,但没有找到任何解决方案。
答案 0 :(得分:1)
您可以单独序列化每个对象,然后执行简单的字符串连接:
string result = string.Join(
Environment.NewLine,
publicationClasses.Select(obj => JsonConvert.SerializeObject(obj, Formatting.None))
);
如果您愿意,请使用\n
代替Environment.NewLine
。
然后您可以按this问题中所述返回结果:
return Content(result, "text/plain");
您可以根据需要使用您偏好的mimetype。请注意,这只是一个一步到位的解决方案,如 Amit Kumar Ghosh 的评论部分所述,如果这是你需要在整个地方做的事情,那么自定义媒体类型formatter是要走的路(事实上,为了遵守Web API实践,你应该使用自定义媒体格式化器)。但是,这段代码提供了它的逻辑,你只需要根据需要执行重构。