2013-09-23 33 views
0

内新线我一直在使用Json.NET连载我的内存中的对象,以JSON。当我把下面的代码行:解析JSON场

 string json = JsonConvert.SerializeObject(template, Formatting.Indented); 

     System.IO.File.WriteAllText(file, json); 

我得到了一个文本文件中的以下内容:

{ 
    "template": { 
    "title": "_platform", 
    "description": "Platform", 
    "queries": [ 
     { 
     "query": "// *******************************\n// -- Remove from DurationWindow at the end \n// *******************************\t\n" 
     } 
    ], 
    "metadata": "" 
    } 
} 

查询是一个对象,我掏出数据库,具有字符串值。当我使用XML和写入文件(使用的XDocument),字符串(还有\ t)将在新线正确解析到文件选项卡和新的生产线。是否有可能与json.Net这里得到同样的效果?

回答

0

断行和tab字符不是JSON值有效,JSON.net不会呈现\ t和\ n为进标签&换行符实际。要很好地显示这一点,你可以这样做:

var withLineBreaks = json.Replace("\\n", "\n").Replace("\\t", "\t"); 

但是如果你这样做,当你读它,你正在写将是无效的JSON,你就会有文本去掉标签和换行符回来,如果你想反序列化。