.net 字符串和JSON格式的互换
近期又做了个问卷调查,问卷调查一次性要保存一二十个题目和答案!所以嘞,博主为了偷懒,就直接把答卷内容保存成了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": "选博主"
- }
呃呃呃。。。虽是没按顺序转换,但绝对是正确滴! 好尴尬呀!!!这破机器~!呵呵呵...
好了,来看下数据库保存的状况:
好神奇哟,真是一个字段存储的啊!让你装逼,看看你怎么取值,哼哼~!
取值?哎呀,我好怕呀!难倒我了哟!!!哈哈哈,逗你玩儿!
欧克,现在来说说,如何将这段字符串再转化成可以随意取值的类型,方便我们取任何一道题的值!
能装进去,肯定就能释放粗来呀!你看着吧!哈哈~
少啰嗦,快点儿!不讲的话,尿点儿就来了!
好好好,闲言少叙,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 欢迎骚扰,不报警的,也不会怀孕的!真的,加了的人都知道!
谢谢!
.net 字符串和JSON格式的互换的更多相关文章
- 如何识别一个字符串是否Json格式
前言: 距离上一篇文章,又过去一个多月了,近些时间,工作依旧很忙碌,除了管理方面的事,代码方面主要折腾三个事: 1:开发框架(一整套基于配置型的开发体系框架) 2:CYQ.Data 数据层框架(持续的 ...
- List转换成json格式字符串,json格式字符串转换成list
一.List转换成json字符串 这个比较简单,导入gson-x.x.jar, List<User> users = new ArrayList<User>(); Gson g ...
- JS实现的一个query字符串转Json格式数据的方法
输入字符串的格式是 a=1&b=2&c=3 $.par2Json = function (string, overwrite) { var obj = {}, pairs = stri ...
- JavaScript中,JSON格式的字符串与JSON格式的对象相互转化
前言:JSON是一个独立于任何语言的数据格式,因此,严格来说,没有“JSON对象”和“JSON字符串”这个说法(然而”菜鸟教程“和”W3school“使用了“JSON对象”和“JSON字符串”这个说法 ...
- js实现字符串转JSON格式
在浏览器前端实现字符串转JSON格式,有多种方法,总结如下: 方法1. js函数,eval() 语法: var obj = eval ("(" + txt + ")&qu ...
- 关于C# webapi ,接口返回字符串和json格式 ,返回值中有反斜杠
最近遇到一个比较郁闷的问题,记录一下 写了一个接口,想返回json 数据,但是返回值中总是带有反斜杠... ,下面来看原因 首先,配置 webapi的路由 App_Start 文件夹下 ,WebApi ...
- 字符串转换json格式
前台json转字符串传递后台时 用到: data: JSON.stringify({ "zh": zhanghao, "mm": mima }), 当后台返回前 ...
- js字符串转json格式与json对象转字符串
json字符串----->json对象json对象------>json字符串 使用JSON.parse()函数 this.dataList = JSON.parse(dataList); ...
- JavaScript 字符串转json格式
第一种:浏览器支持的转换方式(Firefox,chrome,opera,safari,ie)等浏览器: JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON. ...
随机推荐
- ZOJ 2706 Thermal Death of the Universe (线段树)
题目链接:ZOJ 2706 Thermal Death of the Universe (线段树) 题意:n个数.m个操作. 每一个操作(a,b)表示(a,b)全部值更新为这个区间的平均数:1.当前的 ...
- EF Code-First 学习之旅 数据库初始化 (二)
Context类的基类构造函数有如下的参数 1.无参数 如果没有给基类构造函数添加参数,它会在local SQLEXPRESS server创建数据库,名为{Namespace}.{Context c ...
- [IT学习]Python pandas 学习
今天学习pandas来处理数据,结果用python 3.5.0的shell来调试,总是报错. 报错中包含如下字样: Traceback (most recent call last): File &q ...
- C 项目案例实践(1)数据结构之链表(0)
链表是通过一组任意的存储单元来存储线性表中的数据元素的,那么怎样表示出数据元素之间的线性关系呢?为建立数据元素之间的线性关系,对每个数据元素ai,除了存放数据元素的自身信息ai之外,还需要存放和ai一 ...
- FOUNDATION OF ASYNCHRONOUS PROGRAMMING
The async and await keywords are just a compiler feature. The compiler creates code by using the Tas ...
- ThreadLocal工具类 隔离思想
ThreadLocal不是用来解决共享对象的多线程访问问题的, 通过ThreadLocal的set()方法设置到线程的ThreadLocal.ThreadLocalMap里的是是线程自己要存储的对象, ...
- 【SDOI 2014】 旅行
[题目链接] 点击打开链接 [算法] 树链剖分 每个宗教建一棵线段树,注意数据量大,要动态开点 [代码] #include<bits/stdc++.h> using namespace s ...
- Splay 区间反转
同样的,我们以一道题来引入. 传送门 这次的任务比较少,只要求进行区间反转.区间反转? 这个好像用啥都是O(n)的吧……(这次vector,set也救不了你了) 我们来使用splay解决这个问题.我们 ...
- bzoj1861 [Zjoi2006]Book 书架——splay
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1861 发现自己想splay的时候总是纠结那个点权是什么,因为splay原本是二分查找树... ...
- 小程序-demo:小程序示例
ylbtech-小程序-demo:小程序示例 1.返回顶部 0. 1.app.js const openIdUrl = require('./config').openIdUrl App({ ...