中午在念书《Post model至Web
Api创办或者保存数据
http://www.cnblogs.com/insus/p/4343833.html
,如若你第二添加时,json文件获得的数量只好是单笔记录且是新型的。

那须要什么样把新加上的json数据附加至已经存在的多寡中去?本篇Insus.NET就是想已毕此功用。

想尽是先读取json文件的数额转换为数量集存放在内存中,新增进的多少再附加上去,然后再把内存的多寡集序列化保存为json文件即可。
2018正版葡京赌侠诗 1

上边代码示例中,有3半数以上,第一有些是读取文件中本来数据:

2018正版葡京赌侠诗 22018正版葡京赌侠诗 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

实在那有的,容易一句代码也得以:

2018正版葡京赌侠诗 42018正版葡京赌侠诗 5

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

2018正版葡京赌侠诗,View Code

其次有的是将内存中的List<Order>数据系列化之后,存为json文件:

2018正版葡京赌侠诗 62018正版葡京赌侠诗 7

 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

其三有些是把新创制的文书重命名为旧文件名:

2018正版葡京赌侠诗 82018正版葡京赌侠诗 9

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:
2018正版葡京赌侠诗 10

 

下面收集合的jQuery代码,可以参见下边:
2018正版葡京赌侠诗 11

Insus.NET所做的磨炼,一般最终少不了动画演示:

 2018正版葡京赌侠诗 12

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图