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);