C# Newtonsoft.Json 读写改json数据文件

2025-11-09 17:59:27

1、生成一个json数据格式文件,数据格式正确性可在线检验json数据格式。

JsonTextWriter 是生成json数据节点的类,用法是  :

            StringWriter sw = new StringWriter();

            JsonTextWriter writer = new JsonTextWriter(sw);

              writer.WriteStartObject();  //   {  (Json数据的大括号左边 )

C# Newtonsoft.Json 读写改json数据文件

2、   继续添加键值:wen

   writer.WritePropertyName("wen");

   writer.WriteStartArray();//   [      (Json数据的大括号左边) 

            writer.WriteStartObject();//   {

            writer.WritePropertyName("ahref");

            writer.WriteValue("1");

            writer.WritePropertyName("imgpath");

            writer.WriteValue("2");

            writer.WritePropertyName("duanluo");

            writer.WriteValue("3");

            writer.WriteEndObject();//} 

            writer.WriteStartObject();//{

            writer.WritePropertyName("ahref");

            writer.WriteValue("1");

            writer.WritePropertyName("imgpath");

            writer.WriteValue("2");

            writer.WritePropertyName("duanluo");

            writer.WriteValue("3");

            writer.WriteEndObject();//    } (一组json数据结束标记)

            writer.WriteStartObject();//{

            writer.WritePropertyName("ahref");

            writer.WriteValue("1");

            writer.WritePropertyName("imgpath");

            writer.WriteValue("2");

            writer.WritePropertyName("duanluo");

            writer.WriteValue("3");

            writer.WriteEndObject();//        }  (一组json数据结束标记)

            writer.WriteEndArray();//    ]   (多组json数据结束标记)

            writer.WritePropertyName("img");

            writer.WriteStartObject();//{

            writer.WritePropertyName("ig1");

            writer.WriteValue("3");

            writer.WritePropertyName("ig2");

            writer.WriteValue("3");

            writer.WritePropertyName("ig3");

            writer.WriteValue("3");

            writer.WritePropertyName("ig4");

            writer.WriteValue("3");

            writer.WriteEndObject();//} 

            writer.WriteEndObject();//}

3、           json数据添加完成后,用StreamWrite 将 StringWriter 写入到文件中。

          StreamWriter wtyeu = new StreamWriter(xmlpaths);

            wtyeu.Write(sw);

            wtyeu.Flush();

            wtyeu.Close();

4、读写 JSON数据,更新某个键的值。

            StreamReader file = new StreamReader(xmlpaths);

            JsonTextReader reader = new JsonTextReader(file);

            JObject obj = (JObject)JToken.ReadFrom(reader);

            JToken token = obj["wen"];

            foreach (JObject e in token)

            {

                e["ahref"] = "ahref";

                e["imgpath"] = "img";

                e["duanluo"] = "pppppp";

            }

            reader.Close();

//第一种写法

            StringWriter sw = new StringWriter();

            JsonTextWriter writer = new JsonTextWriter(sw);

            obj.WriteTo(writer);   //将根节点写入到StringWriter,这样生成的数                              据没有空行。

            writer.Flush();

            StreamWriter wtyeu = new StreamWriter(xmlpaths);

            wtyeu.Write(sw.ToString());

            wtyeu.Flush();

            wtyeu.Close();

            writer.Close();

            sw.Close();

//第二种写法

            StreamWriter wtyeu = new StreamWriter(xmlpaths);

            wtyeu.Write(obj.ToString());    //将JToken.ReadFrom(reader)的数据写入文件,这样的数据有空行。

            wtyeu.Flush();

            wtyeu.Close();

            writer.Close();

            sw.Close();

C# Newtonsoft.Json 读写改json数据文件

C# Newtonsoft.Json 读写改json数据文件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢