Json Net 简单的文件读取和写入

▲ 读写的文件

XiaoMing.json:

{"Name":"小明","Sex":"男","Age":12}

JsonWriteTest.json:

{
  "StartX": 1.23,
  "StartY": 1.24,
  "EndX": 10,
  "EndY": "YY",
  "Favorites": [
    "吃饭",
    "睡觉"
  ],
  "Remark": null
}

引入 Newtonsoft.Json.dll

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            ReadJsonFile();
            WriteJson();

            Console.ReadKey();
        }

        private static void ReadJsonFile()
        {
            string jFileName = "./XiaoMing.json";
            StreamReader sr = File.OpenText(jFileName);
            JsonTextReader jr = new JsonTextReader(sr);
            JObject jObj = JToken.ReadFrom(jr) as JObject;
            Console.WriteLine($"Name:{jObj["Name"].Value<string>()} \nSex:{jObj.Value<string>("Sex")}  \nAge:{jObj["Age"].Value<int>()}");
        }

        private static void WriteJson()
        {
            string fileName = "./JsonWriteTest.json";

            JObject jsonObj1 = new JObject();
            jsonObj1["StartX"] = 1.23;
            jsonObj1["StartY"] = 1.24;
            jsonObj1["EndX"] = 10;
            jsonObj1["EndY"] = "YY";

            // 创建数组
            JArray array = new JArray();
            array.Add(new JValue("吃饭"));
            array.Add(new JValue("睡觉"));
            jsonObj1.Add("Favorites", array);
            jsonObj1.Add("Remark", null);

            //Console.WriteLine(array.ToString());

            string convertString = Convert.ToString(jsonObj1);//将json装换为string
            File.WriteAllText(fileName, convertString, System.Text.Encoding.UTF8);//将内容写进jon文件中
        }
    }
}




参考:

posted @ 2022-12-17 22:22  double64  阅读(248)  评论(0)    收藏  举报