.net 字符串和JSON格式的互换

版权声明:此文章转载自_infocool 原文链接;http: www infocool net kb ASP 201610 198964 html 如需转载请联系听云College团队成员

版权声明:此文章转载自_infocool

原文链接;http://www.infocool.net/kb/ASP/201610/198964.html

如需转载请联系听云College团队成员小尹 邮箱:yinhy#tingyun.com

近期又做了个问卷调查,问卷调查一次性要保存一二十个题目和答案!所以嘞,博主为了偷懒,就直接把答卷内容保存成了Json格式!

好处当然是很多啦! 只需一个字段就能保存整个答卷的内容! 想想都刺激!哈哈~!

好了,闲话少叙,直入正题!

首先,一般不会保存题目,要求的可能是只保存答案!比如第几题对应的调查者选的是什么答案等等!

先声明一个题目类Expreience,当然,你如果想连题目一起加上的话,你可以多声明几个字段嘛,是吧!

代码如下:

 public class Expreience

{

public string exp1 { get; set; }

public string exp2 { get; set; }

public string exp3 { get; set; }

public string exp4 { get; set; }

public string exp5 { get; set; }

public string exp6 { get; set; }

public string exp7 { get; set; }

public string exp8 { get; set; }

public string exp9 { get; set; }

public string exp10 { get; set; }

}

欧克,现在我有十道题,从上面的代码就能看粗来!废话连篇,满脸嫌弃,哼哼哼~!

好吧,精神分裂患者!

声明好了题目类,接下来该把字符串改成Json格式了,注意哈!!!不要走神!

你快点儿吧,啰嗦!

好吧,现在来看下转化代码:

Hashtable hash = new Hashtable();

hash["exp1"] = "选A";

hash["exp2"] = "选博主";

hash["exp3"] = "回去好好养着";

hash["exp4"] = "小白";

hash["exp5"] = "去捡过来";

hash["exp6"] = "小白";

hash["exp7"] = "去给粑粑的鞋叼过来";

hash["exp8"] = "小白";

hash["exp9"] = "赏你根骨头";

hash["exp10"] = "旺旺旺";

JavaScriptSerializer ser = new JavaScriptSerializer();

string ansJsonStr = ser.Serialize(hash);

声明Hashtable类,以键值对的形式存储每道题对应的值,然后转换成Json字符串;切记:hash["exp1"]中的exp1要和题目类Expreience中的exp1对应起来!

记得引用:

using System.Web.Script.Serialization;

using System.Collections;

好了,就这么简单,看看转换后的格式:

{

"exp4": "小白",

"exp9": "赏你根骨头",

"exp6": "小白",

"exp1": "选A",

"exp3": "回去好好养着",

"exp8": "小白",

"exp5": "去捡过来",

"exp10": "旺旺旺",

"exp7": "去给粑粑的鞋叼过来",

"exp2": "选博主"

}

.net 字符串和JSON格式的互换

呃呃呃。。。虽是没按顺序转换,但绝对是正确滴! 好尴尬呀!!!这破机器~!呵呵呵...

好了,来看下数据库保存的状况:

.net 字符串和JSON格式的互换

好神奇哟,真是一个字段存储的啊!让你装逼,看看你怎么取值,哼哼~!

取值?哎呀,我好怕呀!难倒我了哟!!!哈哈哈,逗你玩儿!

欧克,现在来说说,如何将这段字符串再转化成可以随意取值的类型,方便我们取任何一道题的值!

能装进去,肯定就能释放粗来呀!你看着吧!哈哈~

少啰嗦,快点儿!不讲的话,尿点儿就来了!

好好好,闲言少叙,Go On!!!

转换回来其实也很简单的,上代码:

 public Expreience GetData(string jsonStr)

{

return (Expreience)Newtonsoft.Json.JsonConvert.DeserializeObject(jsonStr, typeof(Expreience));

}

好了,转换好了! 什么?怎么用?这都不会,真是够笨的!好吧,继续》》》

 public string GetDataToString(string jsonStr) 

{

if (string.IsNullOrEmpty(jsonStr))

return "";

Expreience strtemp = GetData(jsonStr);

string dataTemp = "第1题:" + strtemp.exp1 +

"第2题:" + strtemp.exp2 +

"第3题:" + strtemp.exp3 +

"第4题:" + strtemp.exp4 +

"第5题:" + strtemp.exp5 +

"第6题:" + strtemp.exp6 +

"第7题:" + strtemp.exp7 +

"第8题:" + strtemp.exp8 +

"第9题:" + strtemp.exp9;

return dataTemp;

}

好了,按顺序取值了!

就这么简单!嗯嗯嗯!

拙文一篇,忘各位赐教!

讨论群: 225443677    欢迎骚扰,不报警的,也不会怀孕的!真的,加了的人都知道!

想阅读更多技术文章,请访问听云技术博客,访问听云官方网站感受更多应用性能优化魔力。

未登录用户
全部评论0
到底啦