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

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

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

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

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

代码如下:

  1. public class Expreience
  2. {
  3. public string exp1 { get; set; }
  4. public string exp2 { get; set; }
  5. public string exp3 { get; set; }
  6. public string exp4 { get; set; }
  7. public string exp5 { get; set; }
  8. public string exp6 { get; set; }
  9. public string exp7 { get; set; }
  10. public string exp8 { get; set; }
  11. public string exp9 { get; set; }
  12. public string exp10 { get; set; }
  13. }

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

好吧,精神分裂患者!

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

你快点儿吧,啰嗦!

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

  1. Hashtable hash = new Hashtable();
  2. hash["exp1"] = "选A";
  3. hash["exp2"] = "选博主";
  4. hash["exp3"] = "回去好好养着";
  5. hash["exp4"] = "小白";
  6. hash["exp5"] = "去捡过来";
  7. hash["exp6"] = "小白";
  8. hash["exp7"] = "去把粑粑的鞋叼过来";
  9. hash["exp8"] = "小白";
  10. hash["exp9"] = "赏你根骨头";
  11. hash["exp10"] = "旺旺旺";
  12. JavaScriptSerializer ser = new JavaScriptSerializer();
    string ansJsonStr = ser.Serialize(hash);

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

记得引用:

  1. using System.Web.Script.Serialization;
  2. using System.Collections;

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

  1. {
  2. "exp4": "小白",
  3. "exp9": "赏你根骨头",
  4. "exp6": "小白",
  5. "exp1": "选A",
  6. "exp3": "回去好好养着",
  7. "exp8": "小白",
  8. "exp5": "去捡过来",
  9. "exp10": "旺旺旺",
  10. "exp7": "去把粑粑的鞋叼过来",
  11. "exp2": "选博主"
  12. }

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

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

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

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

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

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

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

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

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

  1. public Expreience GetData(string jsonStr)
  2. {
  3. return (Expreience)Newtonsoft.Json.JsonConvert.DeserializeObject(jsonStr, typeof(Expreience));
  4. }

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

  1. public string GetDataToString(string jsonStr)
  2. {
  3. if (string.IsNullOrEmpty(jsonStr))
  4. return "";
  5. Expreience strtemp = GetData(jsonStr);
  6. string dataTemp = "第1题:" + strtemp.exp1 +
  7. "第2题:" + strtemp.exp2 +
  8. "第3题:" + strtemp.exp3 +
  9. "第4题:" + strtemp.exp4 +
  10. "第5题:" + strtemp.exp5 +
  11. "第6题:" + strtemp.exp6 +
  12. "第7题:" + strtemp.exp7 +
  13. "第8题:" + strtemp.exp8 +
  14. "第9题:" + strtemp.exp9;
  15. return dataTemp;
  16. }

好了,按顺序取值了!

就这么简单!嗯嗯嗯!

拙文一篇,忘各位赐教!

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

谢谢!

.net 字符串和JSON格式的互换的更多相关文章

  1. 如何识别一个字符串是否Json格式

    前言: 距离上一篇文章,又过去一个多月了,近些时间,工作依旧很忙碌,除了管理方面的事,代码方面主要折腾三个事: 1:开发框架(一整套基于配置型的开发体系框架) 2:CYQ.Data 数据层框架(持续的 ...

  2. List转换成json格式字符串,json格式字符串转换成list

    一.List转换成json字符串 这个比较简单,导入gson-x.x.jar, List<User> users = new ArrayList<User>(); Gson g ...

  3. JS实现的一个query字符串转Json格式数据的方法

    输入字符串的格式是 a=1&b=2&c=3 $.par2Json = function (string, overwrite) { var obj = {}, pairs = stri ...

  4. JavaScript中,JSON格式的字符串与JSON格式的对象相互转化

    前言:JSON是一个独立于任何语言的数据格式,因此,严格来说,没有“JSON对象”和“JSON字符串”这个说法(然而”菜鸟教程“和”W3school“使用了“JSON对象”和“JSON字符串”这个说法 ...

  5. js实现字符串转JSON格式

    在浏览器前端实现字符串转JSON格式,有多种方法,总结如下: 方法1. js函数,eval() 语法: var obj = eval ("(" + txt + ")&qu ...

  6. 关于C# webapi ,接口返回字符串和json格式 ,返回值中有反斜杠

    最近遇到一个比较郁闷的问题,记录一下 写了一个接口,想返回json 数据,但是返回值中总是带有反斜杠... ,下面来看原因 首先,配置 webapi的路由 App_Start 文件夹下 ,WebApi ...

  7. 字符串转换json格式

    前台json转字符串传递后台时 用到: data: JSON.stringify({ "zh": zhanghao, "mm": mima }), 当后台返回前 ...

  8. js字符串转json格式与json对象转字符串

    json字符串----->json对象json对象------>json字符串 使用JSON.parse()函数 this.dataList = JSON.parse(dataList); ...

  9. JavaScript 字符串转json格式

    第一种:浏览器支持的转换方式(Firefox,chrome,opera,safari,ie)等浏览器: JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON. ...

随机推荐

  1. ZOJ 2706 Thermal Death of the Universe (线段树)

    题目链接:ZOJ 2706 Thermal Death of the Universe (线段树) 题意:n个数.m个操作. 每一个操作(a,b)表示(a,b)全部值更新为这个区间的平均数:1.当前的 ...

  2. EF Code-First 学习之旅 数据库初始化 (二)

    Context类的基类构造函数有如下的参数 1.无参数 如果没有给基类构造函数添加参数,它会在local SQLEXPRESS server创建数据库,名为{Namespace}.{Context c ...

  3. [IT学习]Python pandas 学习

    今天学习pandas来处理数据,结果用python 3.5.0的shell来调试,总是报错. 报错中包含如下字样: Traceback (most recent call last): File &q ...

  4. C 项目案例实践(1)数据结构之链表(0)

    链表是通过一组任意的存储单元来存储线性表中的数据元素的,那么怎样表示出数据元素之间的线性关系呢?为建立数据元素之间的线性关系,对每个数据元素ai,除了存放数据元素的自身信息ai之外,还需要存放和ai一 ...

  5. FOUNDATION OF ASYNCHRONOUS PROGRAMMING

    The async and await keywords are just a compiler feature. The compiler creates code by using the Tas ...

  6. ThreadLocal工具类 隔离思想

    ThreadLocal不是用来解决共享对象的多线程访问问题的, 通过ThreadLocal的set()方法设置到线程的ThreadLocal.ThreadLocalMap里的是是线程自己要存储的对象, ...

  7. 【SDOI 2014】 旅行

    [题目链接] 点击打开链接 [算法] 树链剖分 每个宗教建一棵线段树,注意数据量大,要动态开点 [代码] #include<bits/stdc++.h> using namespace s ...

  8. Splay 区间反转

    同样的,我们以一道题来引入. 传送门 这次的任务比较少,只要求进行区间反转.区间反转? 这个好像用啥都是O(n)的吧……(这次vector,set也救不了你了) 我们来使用splay解决这个问题.我们 ...

  9. bzoj1861 [Zjoi2006]Book 书架——splay

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1861 发现自己想splay的时候总是纠结那个点权是什么,因为splay原本是二分查找树... ...

  10. 小程序-demo:小程序示例

    ylbtech-小程序-demo:小程序示例     1.返回顶部 0. 1.app.js const openIdUrl = require('./config').openIdUrl App({ ...