2017-03-16 77 views
0

我想按以下格式序列化列表对象。想以特定格式序列化

  1. 而不会在起始和结束
  2. 括号[]而不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”:“办市场观察........}

目前我使用

var jsoncontent = JsonConvert.SerializeObject(publicationClasses, Formatting.None); 

不知道。 我谷歌,但没有找到任何解决方案。

+0

由于您要序列化的格式不是标准的JSON,因此使用JSON序列化程序可能不明智 - 您可能必须自行构建。 – darasd

+0

@darasd我知道它不是有效的格式,但它由于某种原因实际上是必需的。 –

+0

为什么不替换结果字符串中不需要的内容? – Lali

回答

1

你可以独立序列的每个对象,然后进行简单的字符串CONCAT:如果你愿意的话

string result = string.Join(
    Environment.NewLine, 
    publicationClasses.Select(obj => JsonConvert.SerializeObject(obj, Formatting.None)) 
); 

使用\n而不是Environment.NewLine

接着,当如因此this问题描述你可以返回结果:

return Content(result, "text/plain"); 

您可以使用您喜欢的MIME类型的要求。请注意,这只是一次性的解决方案,如注释部分Amit Kumar Ghosh中所述,如果这是您需要在整个地方反复做的事情,那么定制媒体类型格式化程序是(事实上​​,为了坚持Web API实践,您应该使用自定义媒体格式化程序)。但是,此代码提供了它的逻辑,您只需根据需要执行重构。