对于Json和对象转换的学习
来源:互联网 发布:stage淘宝是正品吗 编辑:程序博客网 时间:2024/06/03 21:53
学习这个的用处有很多的:
在数据传输过程中比较查看数据比较清晰,代码也较清晰,也可以避免split函数带来的隐藏bug
当然也有不足:
准备工具较繁琐,需要准备对象(当然一般项目中每张表都会有对应的Model类,少量数据不建议适用)
------请教各位大侠,能不能直接将Json字符串转换为对象(对象格式无需我们自己定义,因为Json中已经很明确对象的格式了)
介绍两种方式:
第一种:
适用.NET Framework3.5以上版本的
命名空间为using System.Runtime.Serialization.Json;
//将一个对象转换为Json字符串 public static string ObjectToJson_(object obj) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType()); MemoryStream stream = new MemoryStream(); serializer.WriteObject(stream, obj); byte[] dataBytes = new byte[stream.Length]; stream.Position = 0; stream.Read(dataBytes, 0,(int)stream.Length); return Encoding.UTF8.GetString(dataBytes); } //将一个Json字符串转换为对象 public static object JsonToObject_(string jsonString, Type type) { DataContractJsonSerializer serilizer = new DataContractJsonSerializer(type); MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)); return serilizer.ReadObject(stream); }
第二种:
需要引用Newtonsoft.Json.dll 下载地址
// 从一个对象信息生成Json串 public static string ObjectToJson(object obj) { return JsonConvert.SerializeObject(obj); } // 从一个Json串生成对象信息 public static object JsonToObject(string jsonString, Type obj) { return JsonConvert.DeserializeObject(jsonString, obj); }
//将提交的数据Json转换为Model string sendMessage = "[{\"Type\":\"精美小炒\", \"MyLunch\":[{\"Name\":\"番茄炒蛋\", \"Price\":\"10\"}, {\"Name\":\"耗油牛肉\", \"Price\":\"14\"}, {\"Name\":\"金针菇肥牛\", \"Price\":\"16\"}, {\"Name\":\"虾仁炒蛋\", \"Price\":\"15\"}]}, {\"Type\":\"精美套餐\", \"MyLunch\":[{\"Name\":\"商务套餐\", \"Price\":\"15\"}, {\"Name\":\"红烧猪排套餐\", \"Price\":\"12\"}, {\"Name\":\"椒盐排条套餐\", \"Price\":\"10\"}, {\"Name\":\"茄汁牛排套餐\", \"Price\":\"10\"}]}, {\"Type\":\"特色盖浇饭\", \"MyLunch\":[{\"Name\":\"回锅肉盖浇饭\", \"Price\":\"12\"}, {\"Name\":\"尖椒牛柳盖浇饭\", \"Price\":\"13\"}, {\"Name\":\"蒜苗肉丝盖浇饭\", \"Price\":\"15\"}, {\"Name\":\"辣子鸡盖浇饭\", \"Price\":\"12\"}]}]"; List<Meal> getModel = new List<Meal>(); getModel = (List<Meal>)JsonToObject_(sendMessage, typeof(List<Meal>)); //将Model转换为Json List<Meal> MealList = new List<Meal>(); Meal modelMeal = new Meal(); List<Lunch> myLunch = new List<Lunch>(); Lunch modelLunch = new Lunch(); modelLunch.Name = "台式卤肉"; modelLunch.Price = "15"; myLunch.Add(modelLunch); modelMeal.MyLunch = myLunch; modelMeal.Type = "星期五套餐"; MealList.Add(modelMeal); string jsonString = ObjectToJson_(MealList); result = jsonString;
大概就是这样子了,错误求指正!QAQ
1 0
- 对于Json和对象转换的学习
- json字符串和对象转换以及json2.js和jquery.json-2.3.js中对于json的方法定义理解
- json字符串和json对象的转换
- JSON对象和JSON字符串的转换
- JSON字符串和JSON对象的转换
- 对象和json对象的转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- json:java对象和json对象之间的互相转换
- json字符串和对象的互相转换
- json对象和字符串的转换
- json 和对象之间的转换
- JSON对象和字符串之间的转换
- JSON,String和对象之间的转换
- 不好意思 我是个新手
- maven核心,pom.xml详解
- 在进程中运行新代码 execl、execle、execlp、execv、execve和execvp函数
- AIDL
- Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
- 对于Json和对象转换的学习
- 物理世界里的时间旅行
- 时间计算工具
- 123
- Android 通过反射 打开闪光灯
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Xen has problems working with suspend to RAM (S3), and our solutions: KVM + Xen
- 時光的滄桑
- 【java】网络编程基础