我有一个列表的“应用”对象,我想保存,以文件和检索后。我必须使用“File.AppendAllText(文件名,子)”保存每个对象以进行文件保存,但是当检索文件时,它将抛出以下异常:
保存到文件:
var documents = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine (documents, "app.json");
for (int i = 0; i < 25; i++) {
nuint index = (nuint)i;
App app = appsArray.GetItem<App>(index);
var json = JsonConvert.SerializeObject (app, Newtonsoft.Json.Formatting.Indented);
File.AppendAllText(filename, json);
} 从档案中读取:
var documents = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine (documents, "app.json");
String text = File.ReadAllText (filename);
Console.WriteLine ("text: {0}", text);
App appJSON = (App)Newtonsoft.Json.JsonConvert.DeserializeObject (text);检索反序列化文件时中断:"Newtonsoft.Json.JsonReaderException引发:“读取完JSON内容后遇到的其他文本:{. Path‘,第14行,位置1。
案文的输出如下:
2016-03-24 18:14:47.405 top2530102:2442745正文:{“标题”:“篮球明星”,“总结”:“世界上最好的多人巴斯基”,"AppIcon":{ "ClassHandle":{},"SuperHandle":{},“句柄”:{} },"AppIconURLString":"http://is2.mzstatic.com/image/thumb/Purple49/v4/71/1e/ad/711ead80-6f18-3b46-2947-85c4d7b38292/mzl.qvwejzyt.png/53x53bb-85.png",“http://is2.mzstatic.com/image/thumb/Purple49/v4/71/1e/ad/711ead80-6f18-3b46-2947-85c4d7b38292/mzl.qvwejzyt.png/53x53bb-85.png”:1,“SuperHandle”,“SuperHandle”,“句柄”:{},"ClassHandle":{ } { }{“标题”:"Snapchat",“摘要”:“生活在当下更有趣:)快乐的快照!\n***\n\n请注意: Snapchatters总是可以捕获或保存您的消息,例如通过截图或使用照相机。"AppIcon":{ "ClassHandle":{},"SuperHandle":{},“句柄”:{},"AppIconURLString":"http://is1.mzstatic.com/image/thumb/Purple49/v4/ea/1c/21/ea1c2133-acbd-c16f-a8d5-33e254fdab7b/mzl.xydsraya.png/53x53bb-85.png","Rank":2,"SuperHandle":{},“句柄”:{ },"ClassHandle":{}
发布于 2016-03-25 01:03:42
您正在序列化每个单独的对象,并将其附加到一个文件中,该文件将创建无效的JSON。相反,您应该只是序列化整个数组并编写一次。
var documents = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine (documents, "app.json");
var json = JsonConvert.SerializeObject (appsArray, Newtonsoft.Json.Formatting.Indented);
File.WriteAllText(filename, json);https://stackoverflow.com/questions/36212353
复制相似问题