博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对于Json和对象转换的学习
阅读量:6689 次
发布时间:2019-06-25

本文共 2805 字,大约阅读时间需要 9 分钟。

学习这个的用处有非常多的:
       在传输数据过程中比較查看数据比較清晰,代码也较清晰。也能够避免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
getModel = new List
(); getModel = (List
)JsonToObject_(sendMessage, typeof(List
)); //将Model转换为Json List
MealList = new List
(); Meal modelMeal = new Meal(); List
myLunch = new List
(); 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

转载地址:http://yqhao.baihongyu.com/

你可能感兴趣的文章
hihocoder(1098) 最小生成树Kruskal
查看>>
简单线程池原理和代码
查看>>
《Java》第九周学习总结
查看>>
PHP绘图
查看>>
UILabel 详解
查看>>
【转载】jQuery获取Select选择的Text和 Value
查看>>
Unity3D 学习教程 5 属性面板
查看>>
企业级 SpringBoot 教程 (二十)处理表单提交
查看>>
解决->Word无法创建工作文件,请检查临时环境变量
查看>>
面包屑导航
查看>>
正则表达式
查看>>
CentOS6.5固定IP方式上网(NAT)
查看>>
jboss信息安全
查看>>
[DP][二分]JZOJ 3463 军训
查看>>
SQL语言基础
查看>>
跟左神学算法10 经典算法 - 递归与动态规划
查看>>
888. Uncommon Words from Two Sentences
查看>>
查看最新的Google地址
查看>>
数值与字符串的转换
查看>>
正则表达式基础总结
查看>>