对于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);
}
// 从一个对象信息生成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
对于Json和对象转换的学习的更多相关文章
- 复选框回显、全选、非全选、cookie处理数据、json数组对象转换处理学习笔记参考的页面
<%@include file="/common/head.jsp"%> <%@ page contentType="text/html; charse ...
- Newtonsoft.Json 把对象转换成json字符串
var resultJson = new { records = rowCount, page = pageindex, //总页数=(总页数+页大小-1)/页大小 total = (rowCount ...
- ssh使用ajax异步通讯. json与对象转换的几个小问题
首先是hibernate,用ssh做项目的时候,使用hibernate,这个hibernate博大精深,至今只懂皮毛.建对象时候使用它的一对多,多对多联系,. 这样子,对象转json的时候会产生循环依 ...
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具(转)
本文转自:http://blog.csdn.net/djun100/article/details/24237371 这是关于FastJson的一个使用Demo,在Java环境下验证的 class U ...
- FastJson--阿里开源的速度最快的Json和对象转换工具
示例 import java.util.ArrayList; import java.util.List; import java.util.HashMap; import java.util.Map ...
- 2.FastJson公司--阿里巴巴开源的速度最快的Json和对象转换工具
转自:https://blog.csdn.net/gongpulin/article/details/52062532 这是关于FastJson的一个使用Demo,在Java环境下验证的 这是关于Fa ...
- FastJson--阿里开源的速度最快的Json和对象转换工具 https://www.cnblogs.com/kaituorensheng/p/8082631.html
import java.util.ArrayList;import java.util.List;import java.util.HashMap;import java.util.Map; impo ...
- 小码哥哥 FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
转载地址:http://www.oschina.net/code/snippet_228315_35122?_t_t_t=0.4667952097048127 class User{ private ...
- jQuery 对象和 json 之间的转换
JSON.parse() json 转换成 对象 JSON.stringify() 对象转换成json 想问下广大网友大神 js 里面有数组转换或者转换成数组的函数么?小弟等--
随机推荐
- 雪人(snowman)
test1025 五子棋(fir) 依照题意模拟即可,先判是否合法,然后在判是否胜利 迷宫(maze) 折半搜素裸题 雪人(snowman) 二分+hash a1-b1=a2-b2=a3-b3 等价于 ...
- javaScript 笔记(6) --- jQuery(下)
目录 --- jQuery HTML --- jQuery 遍历 --- jQuery Ajax jQuery HTML: jQuery 捕获:三个简单实用的用于 DOM 操作的 jQuery 方法: ...
- IOS 滑动指示导航栏 渐变
关于导航栏渐变,本人在写APP的时候,发现了各路大神各现其通,其实我觉得这个是个很简单的问题,不需要搞得那么麻烦,对个项目要求整齐来说,一般会建一个工具类,自定义View,各个同事需要的时候,直接调用 ...
- windows 加入域
点击computer,右击选system ,点 change setting,填写domain和computer-name 加入域,下次登陆加入,在域中会检查computer name
- mysql中PDO参数化引号引起的Warning: PDOStatement::execute(): SQLSTATE[HY093]:报错
sql语句之前是这样写的:INSERT INTO tablename SET a = ':a',b = ':b',c = ':c',d = :d,e = :e $data = array ( [':a ...
- 在Android 7.0以上PopupWindow.showAsDropDown()不起作用问题
最近优化界面,调用PopupWindow.showAsDropDown()发现,窗口并没有在控件下方显示. 有网友说是7.0以上系统的问题,可以自定义PopupWindow,重写showAsDropD ...
- 洛谷—— P2417 课程
https://www.luogu.org/problemnew/show/2417 题目描述 n个学生去p个课堂,每一个学生都有自己的课堂,并且每个学生只能去一个课堂,题目要求能够安排每一个课堂都有 ...
- BZOJ 1188 [HNOI2007]分裂游戏
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1188 学习SG函数的过程中,我先看了一篇叫做 <2008-贾志豪-组合数学略述... ...
- Jenkins配置git进行构建失败:Error cloning remote repo 'origin'的解决思路
说明:这个没有实际的解决方法,只提供一个思路去解决. 操作系统:windows 背景:在配置的节点之后,由于是windows的系统,运行git克隆地址,使用的是SSH协议地址.出现如下的错误: Err ...
- 使用PreloadJS加载图片资源
一. 使用createjs里的LoadQueue函数实现异步加载图片,监听加载进度 1.实例对象LoadQueue加载队列对象 var queue = new createjs.LoadQueue(f ...