1. 程式人生 > >C#處理Json字串、Json物件、多層巢狀

C#處理Json字串、Json物件、多層巢狀

1.C#   

public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        public Models.Users[] obj { get; set; }
        protected void Button1_Click(object sender, EventArgs e)
        {
            //json
            string strs = "{\"ID\":\"2\",\"UserName\":\"zhonguog\",\"PassWord\":\"125\",\"Nickname\":\"放開那段程式碼\"}";
            JObject jonObj = JObject.Parse(strs);//引用Newtonsoft.Json.Linq;
            Response.Write(jonObj["UserName"].ToString() + "------" + jonObj["PassWord"].ToString());
            Response.Write("<br />");

            //
            string strstwo = "{\"obj\":[{\"ID\":\"2\",\"UserName\":\"Ybvk\",\"PassWord\":\"125\",\"Nickname\":\"放開那段程式碼\"}]}";
            var c = Newtonsoft.Json.JsonConvert.DeserializeObject<restType>(strstwo);
            Models.Users[] res = c.obj;
            for (int i = 0; i < res.Length; i++)
            {
                Response.Write(res[i].UserName + "------" + res[i].PassWord);
            }
            Response.Write("<br />");
           
            //
            var cv = Newtonsoft.Json.JsonConvert.DeserializeObject<WebForm2>(strstwo);
            Models.Users[] rs = c.obj;
            for (int i = 0; i < rs.Length; i++)
            {
                Response.Write(res[i].UserName + "------" + res[i].PassWord);
            }
            Response.Write("<br />");


            //Json字串
            var vj = "[{\"ID\":\"2\",\"UserName\":\"Ybvk\",\"PassWord\":\"125\",\"Nickname\":\"放開那段程式碼\"}]";
            JArray jsonObj = JArray.Parse(vj);
            foreach (JObject jObject in jsonObj)
            {
                Response.Write(jObject["UserName"].ToString());
            }
            Response.Write("<br />");


            //多層巢狀的陣列
            string strsfpur = "{\"obj\":[{\"ID\":\"2\",\"UserName\":\"Ybvk\",\"PassWord\":\"125\",\"Nickname\":\"放開那段程式碼\"}]}";
            JObject jobj= JObject.Parse(strsfpur);
            JArray jar = JArray.Parse(jobj["obj"].ToString());
            JObject j = JObject.Parse(jar[0].ToString());
            Response.Write(j["UserName"].ToString() + j["PassWord"].ToString());
            Response.Write("<br />");
            Response.Write("<br />");


            //Json巢狀Json
            var vj2 = "[{\"obj\":[{\"ID\":\"2\",\"UserName\":\"Ybvk\",\"PassWord\":\"125\",\"Nickname\":\"放開那段程式碼\"}]}]";
            JArray jsonObj2 = JArray.Parse(vj2);
       
            foreach (JObject jObject2 in jsonObj2)
            {
                JArray jsonObj3 = JArray.Parse(jObject2["obj"].ToString());
                foreach (JObject jObject3 in jsonObj3)
                {
                    Response.Write(jObject3["UserName"].ToString());
                }
            }
        }
    }


    public class restType
    {
        public Models.Users[] obj { get; set; }
    }

 


相關推薦

C#處理Json字串Json物件

1.C#    public partial class WebForm2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {

gson處理的複雜形式的json

/** * 獲取當前房間引數資訊 * * @param houseid 房間ID * @param hashmap 成功失敗標誌 * @return 返回House引數資訊 * @throws UnsupportedEncodingExcept

樹結構(有id和pid欄位)陣列,生成json物件

/* * 傳入的陣列有id和父節點pid欄位,通過它們的關聯構造成一棵或多棵樹結構 * @param nodes 集合 * @param treeRootId 根節點的id */ function createTreeData(nodes, treeRo

Python之路Python全域性變數與區域性變數函式函式遞迴 Python之路Python全域性變數與區域性變數函式函式遞迴

Python之路Python全域性變數與區域性變數、函式多層巢狀、函式遞迴 一、區域性變數與全域性變數   1、在子程式中定義的變數稱為區域性變數,在程式的一開始定義的變數稱為全域性變數。全域性變數作用域是整個程式,區域性變數作用域是定義該變數的子程式。 全域性變數

手把手教你怎麼解析JSON資料(使用JSONModel)

使用API API介紹 參考的JSON資料(可能與你看到的不同) { "date": "20181020", "stories": [ { "title": "每週一吸 · 狸花貓",

Gson使用及 json 定義類

問題描述 對於簡單的Json資料,其對應的java bean 也比較簡單,尤其用GSON處理的時候。 但是如果是多層巢狀的json資料,如果是手工用JSONArray和JSONObject進行解析,還是可以的,雖然會繁瑣一點。但是如果用GSON開源庫解析,有

利用Gson解析JSON資料

資料例項: { "error": 0, "status": "success", "results": [ { "currentCity

fastJson解析報錯com.alibaba.fastjson.JSONException: create instance error, class json.TestFJson$A

今天用fastJson解析報 create instance error的錯誤 認真檢查,bean類內的欄位都和服務端返回的欄位一致,格式都是正確的,為什麼會報錯呢。 在網上找到答案,如果存在內嵌的情況: 比如public class A{

提取Json資料

在.net 2.0中提取這樣的json {"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}} 引用名稱空間 using Newtonsoft.Json; using Newtonsoft

JSON(帶json陣列)格式轉XML(,帶value)格式

1.JSON格式 隨便寫了一個,帶有json陣列,如下: { "TxnBatchNo": "20170607152322", "TxnSeq": "1", "CardNo": "2017000100000003", "AA

JSON 陣列, value值 又是一個JSON陣列

[[{"typets": "1","ans": [{"tu": "3","ans": "","sc": "1"}, {"tu": "4","ans": "","sc": "1"}, {"tu": "7","ans": "","sc": "1"}, {"tu": "8","an

前端傳送的json解析

日前同事問及我jQuery 傳送JSON資料到後臺,後臺該如何接收的問題,經多方查閱,總結出了以下方法: 前臺要用到json2.js和jquery.js 後臺要用到json.jar。 在前端要將傳的JSON資料使用JSON.stringify(這裡是json資料)轉

Java異常處理的基本流程

       異常是程式中的一些錯誤,但並不是所有的錯誤都是異常,錯誤有時候是可以避免的。異常的物件有兩個來源,一是Java執行時環境自動丟擲系統生成的異常,而不管你是否願意捕獲和處理,它總要被丟擲!比如除數為0的異常。二是程式設計師自己丟擲的異常,這個異常可以是程式設

html中的超連結中比如有,就會導致字串被擷取,等等等等很多問題

html中的超連結中比如有多層巢狀,就會導致字串被擷取,等等等等很多問題 引號巢狀兩層時,可以使用轉義或者單雙引號交替的形式實現,當引號巢狀達到三四層的時候,問題就出現了,怎麼解決呢? 舉個例子:"javascript:fnabc('abcd("123")')" html的href=以上

linx c fork()函式的

有哪些巢狀問題呢? 1)建立多個程序分別做一樣的事 程式碼案例: #include <stdio.h> #include <unistd.h> int main(int

遍歷物件

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <ti

實戰c++中的智慧指標unique_ptr系列-- 使用unique_ptr來避免if

今天看到這個文章,覺得沒有很nice。 我們太喜歡流程控制了,在程式中寫了太多的if else 也許我們對於邏輯非常的清晰,但是對於閱讀你程式碼的人來說就是一場災難。 很多人都說使用多型來避免過多的if else巢狀,但是有時候你會覺得新寫一個類似乎有

js中處理json Json物件Json字串的轉化JSON字串與Java物件的轉換

轉:https://www.cnblogs.com/zq-boke/p/5833387.html Json物件與Json字串的轉化、JSON字串與Java物件的轉換   一.Json物件與Json字串的轉化 1.jQuery外掛支援的轉換方式:   $.pars

Jackson使用:String 與物件互轉Jackson 從 json 字串轉換出物件

一、從json字串轉換出物件 Pager類: import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties(ignoreUnknown=true) public class Pager

Json物件Json字串的轉化JSON字串與Java物件的轉換

1.jQuery外掛支援的轉換方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字串轉換成json物件 2.瀏覽器支援的轉換方式(Firefox,chrome,opera,safari