2017-03-16 78 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實踐,您應該使用自定義媒體格式化程序)。但是,此代碼提供了它的邏輯,您只需根據需要執行重構。