最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)Json文件讀寫的方法代碼

 更新時(shí)間:2023年11月27日 15:21:42   作者:KsirZz  
這篇文章主要給大家介紹了關(guān)于C#實(shí)現(xiàn)Json文件讀寫的相關(guān)資料,C# 讀取JSON文件并讀取某一個(gè)關(guān)鍵字的值可以使用Newtonsoft.Json庫,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

JSON是一種輕量級(jí)的數(shù)據(jù)交換格式。它基于 ECMAScript的一個(gè)子集,采用完全獨(dú)立于編程語言的文本格式來存儲(chǔ)和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。

首先在項(xiàng)目中引用第三方庫:Newtonsoft.Json

編寫模型類,定義Json結(jié)構(gòu)

//模型類,定義Json結(jié)構(gòu)
    public class BaseModel
    {
        public List<ModelData> list_groupA { get; set; } = new List<ModelData>();
        public List<ModelData> list_groupB { get; set; } = new List<ModelData>();
        public List<ModelData> list_groupC { get; set; } = new List<ModelData>();
    }

    public class ModelData
    {
        public ModelData(int iD, int pointX, int pointY, string groupName)
        {
            ID = iD;
            PointX = pointX;
            PointY = pointY;
            GroupName = groupName;
        }

        public int ID { get; set; }
        public int PointX { get; set; }
        public int PointY { get; set; }
        public string GroupName { get; set; }
    }

序列化Json字符串,并保存文件

public void SaveToFile(string filePath)
        {
            if (filePath != "")
            {
                List<ModelData> list = new List<ModelData>(100);

                for (int i = 1; i <= 100; i++)
                {
                    if (i < 50)
                    {
                        list.Add(new ModelData(i, 10, 10, "集合A"));
                    }
                    else if (i >= 50 && i < 75)
                    {
                        list.Add(new ModelData(i, 20, 20, "集合B"));
                    }
                    else
                    {
                        list.Add(new ModelData(i, 30, 30, "集合C"));
                    }
                }
                BaseModel model = new BaseModel();
                model.list_groupA = list.Where(x => x.GroupName == "集合A").ToList();
                model.list_groupB = list.Where(x => x.GroupName == "集合B").ToList();
                model.list_groupC = list.Where(x => x.GroupName == "集合C").ToList();
                string json2 = JsonConvert.SerializeObject(model);
                WriteJsonFile(filePath, json2);
            }
        }

        /// <summary>
        /// 將序列化的json字符串內(nèi)容寫入Json文件,并且保存
        /// </summary>
        /// <param name="path">路徑</param>
        /// <param name="jsonConents">Json內(nèi)容</param>
        public void WriteJsonFile(string path, string jsonConents)
        {
            try
            {
                File.WriteAllText(path, jsonConents, System.Text.Encoding.UTF8);
                MessageBox.Show("保存成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

如果不需要分組可將序列化對象改為list,即:

string json2 = JsonConvert.SerializeObject(list);

讀取文本字符串反序列化,獲取指定字段值

public void ReadJsonFile(string readFilePath)
        {
            if (File.Exists(readFilePath))
            {
                //獲取文件內(nèi)容
                string readString = File.ReadAllText(readFilePath);
                //反序列化:單組
                /*JArray ja = (JArray)JsonConvert.DeserializeObject(readString);
                int jaCount = ja.Count;
                ja[0]["PinHight"].ToString();*/
                //反序列化
                JObject jo = JsonConvert.DeserializeObject<JObject>(readString);
                int joCount = jo.Count;
                //獲取指定位置值
                int str = jo["list_groupA"][0].Value<int>("ID");
            }
        }

讀取Json文件,更新字段

/// <summary>
        /// 更新字段
        /// </summary>
        /// <param name="fileName"></param>
        public void UpdateJsonFile(string fileName)
        {
            string jsonString = File.ReadAllText(fileName, System.Text.Encoding.UTF8);//讀取文件
            JObject jobject = JObject.Parse(jsonString);//解析成json
            jobject["list_student"][0]["ID"] = 111;//替換需要的文件
            string convertString = Convert.ToString(jobject);//將json裝換為string
            File.WriteAllText(fileName, convertString, System.Text.Encoding.UTF8);//將內(nèi)容寫進(jìn)jon文件中
        }

總結(jié) 

到此這篇關(guān)于C#實(shí)現(xiàn)Json文件讀寫的文章就介紹到這了,更多相關(guān)C# Json文件讀寫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

六盘水市| 临汾市| 柘荣县| 安西县| 兴仁县| 兴国县| 涿鹿县| 通许县| 昆明市| 辛集市| 临沭县| 汽车| 文昌市| 桃江县| 赤城县| 凭祥市| 新源县| 青河县| 河东区| 保德县| 吴桥县| 岗巴县| 宜宾市| 通江县| 微山县| 阿荣旗| 吐鲁番市| 图们市| 锡林浩特市| 宿松县| 右玉县| 华亭县| 巫山县| 岳西县| 定边县| 福鼎市| 阿拉善左旗| 怀化市| 于都县| 巴塘县| 天镇县|