早晨于念书《Post model至Web
Api创立或者保存数据》http://www.cnblogs.com/insus/p/4343833.html
,如果你第二续加时,json文件得到的数据只能是单笔记录还是时的。

那么要哪将新长的json数据附加至已经在的多少被去?本篇Insus.NET就是纪念实现者意义。

千方百计是事先念取json文件之数码易为数量集存放在内存中,新长的多少还附加上,然后再度把内存的数量集序列化保存也json文件即可。

上面代码示例中,有3大部分,第一局部是读取文件被老数据:

if (System.IO.File.Exists(existFilePhysicalPath))
            {
                using (System.IO.StreamReader sr = new System.IO.StreamReader(existFilePhysicalPath))
                {
                    JsonTextReader jtr = new JsonTextReader(sr);
                    JsonSerializer se = new JsonSerializer();
                    object obj = se.Deserialize(jtr, typeof(List<Order>));
                    orders = (List<Order>)obj;
                }
            }

View Code

骨子里就片,简单一句代码也可以:

orders = JsonConvert.DeserializeObject<List<Order>>(System.IO.File.ReadAllText(existFilePhysicalPath));

View Code

次有些凡拿内存中的List<Order>数据序列化之后,存为json文件:

 using (FileStream fs = File.Open(newFilePhysicalPath, FileMode.CreateNew))
            using (StreamWriter sw = new StreamWriter(fs))
            using (JsonWriter jw = new JsonTextWriter(sw))
            {
                jw.Formatting = Formatting.Indented;
                JsonSerializer serializer = new JsonSerializer();
                serializer.Serialize(jw, orders);
            }

View Code

其三片是将新创造的文本再度命名为原本文件称:

if (System.IO.File.Exists(existFilePhysicalPath))
            {
                File.Delete(existFilePhysicalPath);
            }
            if (System.IO.File.Exists(newFilePhysicalPath))
            {
                System.IO.File.Move(newFilePhysicalPath, existFilePhysicalPath);
            }

View Code

每当Orders目录中,新创办一个html网页SaveJsonToExistFile.html:

 

方收集合的jQuery代码,可以参见下面:

Insus.NET所召开的演习,一般最后少不了动画演示:

 

相关文章

网站地图xml地图