C#常用Json类库:NewtonJson的使用方法
- 2023-07-02
- 3320
- 飞驰的心
C#操作Json有很多成熟的类库,综合而言目前使用范围最广的还得是newton这款类库了,本文将该类库的使用方法罗列出来,以方便随时备查:
//创建一个JSON对象
JObject res = new JObject();
res["Name"] = "John";
res["Age"] = 30;
也可以使用 JObject 的构造函数进行初始化,例如:
JObject jsonObject = new JObject(
new JProperty("Name", "John"),
new JProperty("Age", 30)
);
//反序列化(字符串转json)推荐方法
string jsonString = "{\"Name\":\"John\",\"Age\":30}";
JObject json= JObject.Parse(jsonString);
//反序列化(字符串转json)dynamic类型的优势:可以直接访问JSON对象的属性,不需要进行类型转换
string jsonString = "{\"Name\":\"John\",\"Age\":30}";
dynamic jsonObject = JsonConvert.DeserializeObject(jsonString);
辅助方法:删改查
JObject jsonObject = JObject.Parse("{\"Name\":\"John\",\"Age\":30,\"City\":\"New York\"}");
jsonObject.Remove("Age"); // 删除名为 "Age" 的属性
JObject jsonObject = JObject.Parse("{\"Name\":\"John\",\"Age\":30,\"City\":\"New York\"}");
jsonObject["Age"] = 35; // 将 "Age" 属性的值修改为 35
JObject jsonObject = JObject.Parse("{\"Name\":\"John\",\"Age\":30,\"City\":\"New York\"}");
JToken nameValue = jsonObject["Name"]; // 查询名为 "Name" 的属性的值
if (nameValue != null)
{
string name = nameValue.ToString();
// 进行后续操作
}
//创建 JSON 数组
JArray jsonArray = new JArray();
jsonArray.Add("value1");
jsonArray.Add("value2");
jsonArray.Add("value3");
// 反序列化 JSON 数组(字符串转json)
string jsonArrayString = "[\"value1\", \"value2\", \"value3\"]";
JArray jsonArray = JArray.Parse(jsonArrayString);
// 序列化 JSON 数组(json转字符串)
string jsonArrayString = jsonArray.ToString();
//将json转换成字典
string json = "{\"key1\":\"value1\",\"key2\":\"value2\"}";
Dictionary dict = JsonConvert.DeserializeObject>(json);
//将字典转为json
Dictionary dict = new Dictionary();
dict.Add("key1", "value1");
dict.Add("key2", "value2");
string json = JsonConvert.SerializeObject(dict);
//json校验和验证
string json = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
//定义 JSON 架构
string schemaJson = "{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"age\":{\"type\":\"integer\"},\"city\":{\"type\":\"string\"}},\"required\":[\"name\",\"age\",\"city\"]}";
JsonSchema schema = JsonSchema.Parse(schemaJson);
JObject jsonObject = JObject.Parse(json);
// 验证 JSON 数据是否符合架构定义
bool isValid = jsonObject.IsValid(schema);
本博客所有内容均为原创,原则上我不希望你转载。如特别喜欢而转载的话,请务必注明出处“网际飞扬 http://www.fayo.net”
否则本人闲来无事可能会把你误当成维权的靶子。


评论
全部评论
共{{commentCount}}条{{rs.Msg_Content}}