程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> .net 字符串和JSON格式的互換,.netjson

.net 字符串和JSON格式的互換,.netjson

編輯:關於.NET

.net 字符串和JSON格式的互換,.netjson


近期又做了個問卷調查,問卷調查一次性要保存一二十個題目和答案!所以嘞,博主為了偷懶,就直接把答卷內容保存成了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    歡迎騷擾,不報警的,也不會懷孕的!真的,加了的人都知道!

 

謝謝!

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved