asp.net mvc中怎么样解析 json

我实现的是一个基于cookies的购物车,以json的格式存放内容。如:varcar=[{id:"1",name:"迷失北岸",price:"36",bcount:"1"... 我实现的是一个基于cookies的购物车,以json的格式存放内容。如:
var car = [{id : "1", name : "迷失北岸", price : "36", bcount : "1"}];
增删改查都已经实现了。问题:
1. 怎么样把这个 car 转化为 json 字符串然后存入 cookies 中。
2. 在进入购物车时,服务端我获取到这个 cookies 中的字符串,怎么解析呢?
请给个关键代码好吗?谢谢啊
展开
 我来答
PettyKid
推荐于2016-01-24 · 超过25用户采纳过TA的回答
知道答主
回答量:129
采纳率:0%
帮助的人:69.3万
展开全部
public static DataTable JsonToDataTable(string strJson)
{
//取出表名
Regex rg = new Regex(@"(?<={)[^:]+(?=:\[)", RegexOptions.IgnoreCase);
string strName = rg.Match(strJson).Value;
DataTable tb = null;
//去除表名
strJson = strJson.Substring(strJson.IndexOf("[") + 1);
strJson = strJson.Substring(0, strJson.IndexOf("]"));

//获取数据
rg = new Regex(@"(?<={)[^}]+(?=})");
MatchCollection mc = rg.Matches(strJson);
for (int i = 0; i < mc.Count; i++)
{
string strRow = mc[i].Value;
string[] strRows = strRow.Split(',');

//创建表
if (tb == null)
{
tb = new DataTable();
tb.TableName = strName;
foreach (string str in strRows)
{
DataColumn dc = new DataColumn();
string[] strCell = str.Split(':');
dc.ColumnName = strCell[0].ToString();
tb.Columns.Add(dc);
}
tb.AcceptChanges();
}

//增加内容
DataRow dr = tb.NewRow();
for (int r = 0; r < strRows.Length; r++)
{
dr[r] = strRows[r].Split(':')[1].Trim().Replace(",", ",").Replace(":", ":").Replace("\"", "");
}
tb.Rows.Add(dr);
tb.AcceptChanges();
}

return tb;
}
用法:
htmlBody 的例子:
{"Mobile":"15655959999","QueryResult":"True","Province":"安徽","City":"黄山","AreaCode":"0559","PostCode":"245000","Corp":"中国联通","Card":"GSM"}
string json = "{table:" + htmlBody + "}";
DataTable dt = Common.JsonExtensions.JsonToDataTable(json);

datdatable的数据会取了吧!
追问
你这是写的什么啊,在表现层怎么能用Datatable呢,我组长有完美主义,我要是用这个,他得杀了我,不过还是谢谢你
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
戈多的期待
2012-11-09 · 超过12用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:31.7万
展开全部
可以用一楼的方法 ,这种是一种通用帮助方法,效率可能不高 。。。还可以XML转化为DataTable,很多数据格式的转化帮助方法,然后DataTable遍历DataRow 就可以Tolist() 在View中循环显示了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水小周好可怜6y
2012-01-12 · TA获得超过118个赞
知道小有建树答主
回答量:162
采纳率:100%
帮助的人:101万
展开全部
你的这句是怎样获取的?
var car = [{id : "1", name : "迷失北岸", price : "36", bcount : "1"}];
追问
为了您方便回答我才这样写的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ylxscc
2012-01-12
知道答主
回答量:89
采纳率:0%
帮助的人:16.5万
展开全部
没有用过,观望下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式