Newtonsoft序列化與反序列化json字串使用方法總結

風靈使發表於2018-10-17

反序列化json字串為List:

json字串如下:

{"docs": [{
            "uid": 2629577,
            "nickname": "枕邊瘋電臺",
            "is_v": "true",
            "category_id": 4,
            "cover_path": "http://fdfs.xmcdn.com/group3/M01/64/3B/wKgDslJ6DkyQb4EXAAEXoFUKDKE711_mobile_small.jpg",
            "intro": "業餘主持,純屬興趣,更新不定時,長短沒限制,自嘲只為傳播歡樂,不要結合現實對號入座。喜歡請多給我一點鼓勵,如果不喜歡也希望得到中肯的建議。如果實在不和您的胃口,請移步到八丈以外的瑤池仙境,這裡是人間,不適合您……實在要噴,請注意下自己的素質和言行,只是善意提醒,損人是一件灰常折壽的事情。     ",
            "user_source": "1",
            "id": 203355,
            "title": "段子來了",
            "updated_at": 1399973243000,
            "created_at": 1376650745000,
            "avatar_path": "http://fdfs.xmcdn.com/group3/M00/15/65/wKgDslIN_pjwNb5UAACBgMAPyaM325_mobile_small.jpg",
            "tracks": 131
        },
        {
            "uid": 2629294,
            "nickname": "采采",
            "is_v": "true",
            "category_id": 4,
            "cover_path": "http://fdfs.xmcdn.com/group3/M04/64/9D/wKgDsVJ6DnSy_6Q7AAEXoFUKDKE679_mobile_small.jpg",
            "intro": "",
            "user_source": "1",
            "id": 214706,
            "title": "段子來了 采采",
            "updated_at": 1400250058000,
            "created_at": 1382348506000,
            "avatar_path": "http://tp3.sinaimg.cn/1263078850/180/5623249090/0",
            "tracks": 127
        },
        {
            "uid": 4498275,
            "nickname": "心的節拍",
            "is_v": "true",
            "category_id": 2,
            "cover_path": "http://fdfs.xmcdn.com/group3/M04/9A/49/wKgDsVKvMk7hRm8KAAEJx49MS9s693_mobile_small.jpg",
            "intro": "喜馬拉雅 枕邊瘋電臺、段子來了--背景音樂 【 不 斷 更 新 。 多 謝 關 注、採迷們、、】    喜歡就點個贊 轉個採 評個論 你們的支援~ 是我的動力! 謝謝  ",
            "user_source": "2",
            "id": 223871,
            "title": "【段子來了-背景音樂】-全集",
            "updated_at": 1400343573000,
            "created_at": 1385138688000,
            "avatar_path": "http://fdfs.xmcdn.com/group3/M00/7A/C2/wKgDslKPYpjxneH5AAAdDa0wExk487_mobile_small.gif",
            "tracks": 35
        },
        {
            "category_id": 4,
            "intro": "江湖盛事,凰泉帶著段子來了,小夥伴們,快點開聽吧~~~~ ",
            "cover_path": "http://fdfs.xmcdn.com/group3/M00/82/75/wKgDslKYCe3CEs0KAAHJisvwlLA043_mobile_small.jpg",
            "user_source": "1",
            "id": 217022,
            "title": "江湖盛事《 凰泉來了,段子來了!! 》",
            "updated_at": 1387614900000,
            "created_at": 1383301247000,
            "uid": 3963423,
            "is_v": "true",
            "nickname": "煙雨凰陽丶有聲電臺",
            "avatar_path": "http://fdfs.xmcdn.com/group5/M00/0B/58/wKgDtlN0Ds2QM4ubAARIhX4zPC0599_mobile_small.jpg",
            "tracks": 31
        },
        {
            "uid": 6360654,
            "is_v": "true",
            "id": 253901,
            "title": "段子“又”來了",
            "created_at": 1399210519000,
            "avatar_path": "http://fdfs.xmcdn.com/group3/M0A/4D/0C/wKgDslNH47zjf0AsAACSWLi3c04438_mobile_small.jpg",
            "nickname": "小宇說大話",
            "category_id": 4,
            "intro": "段子又來了是以簡短的形式出現的!但每個段子都是爆笑的!喜歡的點個贊,不喜歡的也勿噴!想關注小宇的朋友們,可以在騰訊微博裡搜尋小宇傻笑!!!也可以在新浪微博裡搜尋做人之道!!!謝謝朋友們對小宇的支援!!!小宇說大話的微信公眾平臺號AA686,在微信搜尋公眾號AA686就可以找到我們的節目了!!!想與主播小宇零距離互動嗎?就去微信搜尋關注吧!",
            "cover_path": "http://fdfs.xmcdn.com/group4/M02/55/2F/wKgDtFNmQdTRtaZDAAECKaQdb8s505_mobile_small.jpg",
            "user_source": "1",
            "updated_at": 1399210515000,
            "tracks": 12
        }]
    }

C#程式碼:

AlbumInfo

public class AlbumInfo
    {
       public AlbumInfo() { }
        public int category_id { get; set; }
        public string cover_path { get; set; }
        public string intro { get; set; }
        public string user_source { get; set; }
        public int id { get; set; }
        public string title { get; set; }
        public object updated_at { get; set; }
        public object created_at { get; set; }
        public int uid { get; set; }
        public string is_v { get; set; }
        public string nickname { get; set; }
        public string avatar_path { get; set; }
        public int tracks { get; set; }

    }

方式一:

string contents = " {'docs': [{
            'uid': 2629577,
            'nickname': '枕邊瘋電臺',
            'is_v': 'true',
            'category_id': 4,
            'cover_path': 'http://fdfs.xmcdn.com/group3/M01/64/3B/wKgDslJ6DkyQb4EXAAEXoFUKDKE711_mobile_small.jpg',
            'intro': '業餘主持,純屬興趣,更新不定時,長短沒限制,自嘲只為傳播歡樂,不要結合現實對號入座。喜歡請多給我一點鼓勵,如果不喜歡也希望得到中肯的建議。如果實在不和您的胃口,請移步到八丈以外的瑤池仙境,這裡是人間,不適合您……實在要噴,請注意下自己的素質和言行,只是善意提醒,損人是一件灰常折壽的事情。     ',
            'user_source': '1',
            'id': 203355,
            'title': '段子來了',
            'updated_at': 1399973243000,
            'created_at': 1376650745000,
            'avatar_path': 'http://fdfs.xmcdn.com/group3/M00/15/65/wKgDslIN_pjwNb5UAACBgMAPyaM325_mobile_small.jpg',
            'tracks': 131
        },
        {
            'uid': 2629294,
            'nickname': '采采',
            'is_v': 'true',
            'category_id': 4,
            'cover_path': 'http://fdfs.xmcdn.com/group3/M04/64/9D/wKgDsVJ6DnSy_6Q7AAEXoFUKDKE679_mobile_small.jpg',
            'intro': '',
            'user_source': '1',
            'id': 214706,
            'title': '段子來了 采采',
            'updated_at': 1400250058000,
            'created_at': 1382348506000,
            'avatar_path': 'http://tp3.sinaimg.cn/1263078850/180/5623249090/0',
            'tracks': 127
        },
        {
            'uid': 4498275,
            'nickname': '心的節拍',
            'is_v': 'true',
            'category_id': 2,
            'cover_path': 'http://fdfs.xmcdn.com/group3/M04/9A/49/wKgDsVKvMk7hRm8KAAEJx49MS9s693_mobile_small.jpg',
            'intro': '喜馬拉雅 枕邊瘋電臺、段子來了--背景音樂 【 不 斷 更 新 。 多 謝 關 注、採迷們、、】    喜歡就點個贊 轉個採 評個論 你們的支援~ 是我的動力! 謝謝  ',
            'user_source': '2',
            'id': 223871,
            'title': '【段子來了-背景音樂】-全集',
            'updated_at': 1400343573000,
            'created_at': 1385138688000,
            'avatar_path': 'http://fdfs.xmcdn.com/group3/M00/7A/C2/wKgDslKPYpjxneH5AAAdDa0wExk487_mobile_small.gif',
            'tracks': 35
        },
        {
            'category_id': 4,
            'intro': '江湖盛事,凰泉帶著段子來了,小夥伴們,快點開聽吧~~~~ ',
            'cover_path': 'http://fdfs.xmcdn.com/group3/M00/82/75/wKgDslKYCe3CEs0KAAHJisvwlLA043_mobile_small.jpg',
            'user_source': '1',
            'id': 217022,
            'title': '江湖盛事《 凰泉來了,段子來了!! 》',
            'updated_at': 1387614900000,
            'created_at': 1383301247000,
            'uid': 3963423,
            'is_v': 'true',
            'nickname': '煙雨凰陽丶有聲電臺',
            'avatar_path': 'http://fdfs.xmcdn.com/group5/M00/0B/58/wKgDtlN0Ds2QM4ubAARIhX4zPC0599_mobile_small.jpg',
            'tracks': 31
        },
        {
            'uid': 6360654,
            'is_v': 'true',
            'id': 253901,
            'title': '段子“又”來了',
            'created_at': 1399210519000,
            'avatar_path': 'http://fdfs.xmcdn.com/group3/M0A/4D/0C/wKgDslNH47zjf0AsAACSWLi3c04438_mobile_small.jpg',
            'nickname': '小宇說大話',
            'category_id': 4,
            'intro': '段子又來了是以簡短的形式出現的!但每個段子都是爆笑的!喜歡的點個贊,不喜歡的也勿噴!想關注小宇的朋友們,可以在騰訊微博裡搜尋小宇傻笑!!!也可以在新浪微博裡搜尋做人之道!!!謝謝朋友們對小宇的支援!!!小宇說大話的微信公眾平臺號AA686,在微信搜尋公眾號AA686就可以找到我們的節目了!!!想與主播小宇零距離互動嗎?就去微信搜尋關注吧!',
            'cover_path': 'http://fdfs.xmcdn.com/group4/M02/55/2F/wKgDtFNmQdTRtaZDAAECKaQdb8s505_mobile_small.jpg',
            'user_source': '1',
            'updated_at': 1399210515000,
            'tracks': 12
        }]
    }";
JObject resutlJobj = JObject.Parse(contents);
//將JSON結果序列化為.NET物件
IList < AlbumInfo > searchResults = JsonConvert.DeserializeObject < List < AlbumInfo >> (resutlJobj["docs"].ToString());

方式二:

JObject resutlJobj = JObject.Parse(contents);
//將JSON結果物件放入列表中
IList < JToken > results = resutlJobj["docs"].Children().ToList();

// 將JSON結果序列化為.NET物件
IList < AlbumInfo > searchResults = new List < AlbumInfo > ();
//new List<AlbumInfo>();
foreach(JToken result in results) {
AlbumInfo searchResult = JsonConvert.DeserializeObject < AlbumInfo > (result.ToString());
searchResults.Add(searchResult);
}

序列化物件為json字串:

string json = JsonConvert.SerializeObject(searchResults);

相關文章