c#中string字符串转为json与json转对象
添加引用,Newtonsoft.Json.dll
using Newtonsoft.Json.Linq;
//使用SerializeObject函数,可以将结构体转化为字符串
//string jsonText = JsonConvert.SerializeObject(ss);
//DeserializeObject函数,可以将字符串转化为结构体
//字符串转json public static void strJson() {
string jsonText = "{"shenzheng":"深圳","beijing":"北京","shanghai":[{"zj1":"zj11","zj2":"zj22"},"zjs"]}";
//DeserializeObject函数,可以将字符串转化为结构体 JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);//或者JObject jo = JObject.Parse(jsonText); string zone = jo["shenzheng"].ToString();//输出 "深圳" string zone_en = jo["shanghai"].ToString();//输出 "[{"zj1":"zj11","zj2":"zj22"},"zjs"]" string zj1 = jo["shanghai"][1].ToString();//输出 "zjs" Console.WriteLine(jo); }
//对象与数组转JSON public static void GetJsonString() { //初始化对象 Obj product = new Obj() { Name = "苹果", Price = 5.5 }; //序列化 string o = new JavaScriptSerializer().Serialize(product);//值:"{"Name":"苹果","Price":5.5}" //数组转json List<Obj> products = new List<Obj>(){ new Obj(){Name="苹果",Price=5.5}, new Obj(){Name="橘子",Price=2.5}, new Obj(){Name="干柿子",Price=16.00} }; ProductList productlist = new ProductList(); productlist.GetProducts = products; //序列化 string os = new JavaScriptSerializer().Serialize(productlist); //输出 "{"GetProducts":[{"Name":"苹果","Price":5.5},{"Name":"橘子","Price":2.5},{"Name":"干柿子","Price":16}]}" } //json转对象、数组, 反序列化 public static void JSONStringToList() { //json格式字符串 string JsonStr = "{Name:'苹果',Price:5.5}"; JavaScriptSerializer Serializer = new JavaScriptSerializer(); //json字符串转为对象, 反序列化 Obj obj = Serializer.Deserialize<Obj>(JsonStr); Console.Write(obj.Name + ":" + obj.Price + ""); //json格式字符串 string JsonStrs = "[{Name:'苹果',Price:5.5},{Name:'橘子',Price:2.5},{Name:'柿子',Price:16}]"; JavaScriptSerializer Serializers = new JavaScriptSerializer(); //json字符串转为数组对象, 反序列化 List<Obj> objs = Serializers.Deserialize<List<Obj>>(JsonStrs); foreach (var item in objs) { Console.Write(item.Name + ":" + item.Price + ""); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南