ASP.NET-JSON.NET技巧

本文介绍如何使用JObject和JArray将字符串转换为JSON格式,并安全地传递给前端JS,避免因特殊符号导致的问题。

第一个技巧,字符串转JSON

单条的json数据可以使用JObject.Parse将对象转化成JObject对象,你可以接着使用JsonConvert.SerializeObject方法把这个对象序列化后传到前台去

string Node = "{ id: 1, pId: 0, name: \"随意拖拽 1\", open: true }";
JObject jj = JObject.Parse(Node);

JArray.Parse可以用来讲json数组转成JArray对象,你可以接着使用JsonConvert.SerializeObject方法把这个对象序列化后传到前台去

string zNodes = "[ { id: 1, pId: 0, name: \"随意拖拽 1\", open: true }," +
                   "{ id: 11, pId: 1, name: \"随意拖拽 1-1\" }," +
                   "{ id: 12, pId: 1, name: \"随意拖拽 1-2\" }," +
                   "{ id: 121, pId: 12, name: \"随意拖拽 1-2-1\" }," +
                   "{ id: 122, pId: 12, name: \"随意拖拽 1-2-2\" }," +
                   "{ id: 123, pId: 12, name: \"随意拖拽 1-2-3\" }," +
                   "{ id: 13, pId: 1, name: \"禁止拖拽 1-3\", open: true, drag: false }," +
                   "{ id: 131, pId: 13, name: \"禁止拖拽 1-3-1\", drag: false }," +
                   "{ id: 132, pId: 13, name: \"禁止拖拽 1-3-2\", drag: false }," +
                   "{ id: 132, pId: 13, name: \"禁止拖拽 1-3-3\", drag: false }," +
                   "{ id: 2, pId: 0, name: \"禁止子节点移走 2\", open: true, childOuter: false }," +
                   "{ id: 21, pId: 2, name: \"我不想成为父节点 2-1\", dropInner: false }," +
                   "{ id: 22, pId: 2, name: \"我不要成为根节点 2-2\", dropRoot: false }," +
                   "{ id: 23, pId: 2, name: \"拖拽试试看 2-3\" }," +
                   "{ id: 3, pId: 0, name: \"禁止子节点排序/增加 3\", open: true, childOrder: false, dropInner: false }," +
                   "{ id: 31, pId: 3, name: \"随意拖拽 3-1\" }," +
                   "{ id: 32, pId: 3, name: \"随意拖拽 3-2\" }," +
                   "{ id: 33, pId: 3, name: \"随意拖拽 3-3\" }]";
JArray jsonObj = JArray.Parse(zNodes);

679411-20160414153258723-1335913944.png

第二个技巧

自己拼凑的string字符串传递给前台的JS可能会因为符号问题出现错误,可以使用JObject对象和JArray对象转换一下再传递给前台就不会有问题了

679411-20160418090556632-156229597.png

转载于:https://www.cnblogs.com/weloveshare/p/5391300.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值