天天看點

C#背景讀取JSON格式------間斷更新中

如果背景是一個JSON的字元串格式如下:

string str = "{\"Success\":true,\"Msg\":\"成功!\"}";

我們之間轉成dynamic然後擷取裡面某個屬性即可。

dynamic response = Newtonsoft.Json.JsonConvert.DeserializeObject(str);

string a = response.Success; string b = response.Msg;

如果是有對象格式的字元串可以這樣轉換:var response = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(str);

還有兩種較為複雜的方法:

 Data data1 = JsonConvert.DeserializeObject<Data>(str);擷取就直接:data1.Success。

或者:List<Data> list = JsonConvert.DeserializeObject<List<Data>>(str);擷取需要循環擷取:foreach (var item in list)

            {

                 item.Success

            }

但是以上2個方法都需要聲明類

public class Data

    {

        public string Success { get; set; }

        public string Msg { get; set; }

    }

如果背景穿過來是一個Json(new { success = response.Success, msg = response.Msg }, JsonRequestBehavior.AllowGet);格式;直接轉成dynamic 格式。擷取: resulOb.Data.success。

--------------題外話

其實也可以用這種方式直接傳給前台:

public JsonResult projectPush(){

Json(new { success = false, msg = "成功!" }, JsonRequestBehavior.AllowGet);

}

前台擷取的時候直接:var result = Ext.decode(repsonse.responseText);result.success即可。當然這個是基于EXT的。你可以傳回之後調适一下其他架構下的。