JSON常用总结(基于C#)

文件操作类

注意:

  • 需要引用using System.IO; 命名控件
  • 需要添加Newtonsoft.Json引用,使用Nugget工具。并添加using Newtonsoft.Json;using Newtonsoft.Json.Linq;两个命名控件。

下述直接使用IO函数读取JSON文件不加路径的默认路径在哪里?

测试开发项目\bin\Debug

如何写入JSON内容

//把STRING格式内容写入JSON文件
File.WriteAllText("EXE_Config.json", Text);

如何写入JSON文件

//把teststr 读取JSON文件
string teststr = File.ReadAllText("EXE_Config.json");

如何判断JOSN文件是否为空

string teststr = File.ReadAllText("EXE_Config.json");
if (teststr == "")
{
    messgbox("JSON文件为空");
}

JSON内容类

JSON的内容格式

参考文章1_JSON数据格式
参考文章2_JSON增删改
参考文章3_JSON增删改

JSON提取数据示例_1

  //定义JSON数据格式字符串
  String JSString_1 = "{'RRGPS':[{'ID':3,'A':2.5,'B':5,'C':25},{'ID':3,'A':5,'B':5,'C':25}]}";
  //将字符串转化为JOSN对象
  JObject jo = (JObject)JsonConvert.DeserializeObject(JSString_1);
  //提取其中的数组部分
  JArray ja = jo["RRGPS"].ToObject<JArray>();
  //再将提取的数组部分选取需要的转化为字符串形式
  string JSString_2  = ja[0].ToString();
  //再将上面的转化好的数组中的字符串部分转化为JSON对象
  JObject jo2 = (JObject)JsonConvert.DeserializeObject(JSString_2);
  //提取需要的对象
  lab_test.Text = jo2["ID"].ToString();
  //读取整数
  int A = int.Parse(jo2["A"].ToString());
  Console.WriteLine(A.ToString());
  //读取小数
  float B = float.Parse(jo2["B"].ToString()); 
  Console.WriteLine(B.ToString());

修改数据示例_1

数据格式与上文相同,这里不再重复定义

  //修改
  jo2["ID"] = 4;
  jo2["A"] = 4;
  jo2["B"] = 4.5;
  int ID=int.Parse(jo2["ID"].ToString());
  Console.WriteLine(ID.ToString());
   A = int.Parse(jo2["A"].ToString());
  Console.WriteLine(ID.ToString());
  B = float.Parse(jo2["B"].ToString());
  Console.WriteLine(B.ToString());

函数类

JSON.parse()

可以将JSON格式的字符串解析成JS中对应的值, 一定要是合法的字符串否则会报错

var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
document.getElementById("demo").innerHTML = obj.name + ":" + obj.site;

JSON.stringify()

可以将JS中的数据类型、对象或数组转换成JSON格式的字符串

var obj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};
var myJSON = JSON.stringify(obj);
posted @ 2022-06-08 17:51  云林天涯  阅读(166)  评论(0编辑  收藏  举报