Parse JSON response from DirecTV DVR

Mar 19, 2011 at 3:42 AM

Can anyone point me in the right direction for parsing out a JSON response from my DirecTV DVR...     I'm trying to build a touch screen controler in C#...  I can control my DVR no problem, but I'm trying to build my playlist in my application...     here is an example of the response...

 

{
"hasChanged": false,
"isPclocked": 3,
"itemsReturned": 5,
"playList": [
{
"groupIndex": 1,
"groupTitle": "Only in America With Larry the Cable Guy",
"isRecording": false,
"numItems": 4,
"numNewItems": 3,
"recordings": [
{
"callsign": "HISTHD",
"contentId": "1 1 14F914 8",
"duration": 1800,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 269,
"minor": 65535,
"offset": 0,
"programId": "7257957",
"rating": "TV-14-D-L",
"startTime": 1299033000,
"title": "Only in America With Larry the Cable Guy",
"uniqueId": "6052094577057230326"
},
{
"callsign": "HISTHD",
"contentId": "1 1 14F914 4",
"duration": 1800,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": true,
"isVod": false,
"keepUntilFull": true,
"major": 269,
"minor": 65535,
"offset": 653,
"programId": "7257955",
"rating": "TV-14-D-L",
"startTime": 1299031200,
"title": "Only in America With Larry the Cable Guy",
"uniqueId": "1523092780043297888"
}
]
},
{
"groupIndex": 2,
"groupTitle": "House",
"isRecording": false,
"numItems": 2,
"numNewItems": 1,
"recordings": [
{
"callsign": "KDSM",
"contentId": "1 1 A80E7 EE",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 17,
"minor": 65535,
"offset": 0,
"programId": "7287725",
"rating": "TV-14-D-L-S",
"startTime": 1300147200,
"title": "House",
"uniqueId": "1144782076942836073"
},
{
"callsign": "KDSM",
"contentId": "1 1 A80E7 ED",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": true,
"isVod": false,
"keepUntilFull": true,
"major": 17,
"minor": 65535,
"offset": 0,
"programId": "7268797",
"rating": "TV-14-D-L-V",
"startTime": 1299546000,
"title": "House",
"uniqueId": "1898085916080539219"
}
]
},
{
"groupIndex": 3,
"groupTitle": "",
"isRecording": false,
"numItems": 1,
"numNewItems": 0,
"recordings": [{
"callsign": "HBOZHD",
"contentId": "1 2 1C382 0",
"duration": 6599,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": true,
"isVod": false,
"keepUntilFull": true,
"major": 509,
"minor": 65535,
"offset": 48,
"programId": "1387698",
"rating": "PG-13",
"startTime": 1299802200,
"title": "Behind Enemy Lines",
"uniqueId": "5498903274797781015"
}]
}
],
"status": {
"code": 200,
"msg": "OK.",
"query": "/dvr/getPlayList?start=3&max=5"
},
"totalNumItems": 68,
"type": "user"
}
{
"hasChanged": false,
"isPclocked": 3,
"itemsReturned": 25,
"playList": [
{
"groupIndex": 0,
"groupTitle": "",
"isRecording": false,
"numItems": 1,
"numNewItems": 1,
"recordings": [{
"callsign": "COMHD",
"contentId": "1 1 118ABE 33",
"duration": 1787,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 249,
"minor": 65535,
"offset": 0,
"programId": "7304596",
"rating": "TV-14-D-L",
"startTime": 1300240812,
"title": "Tosh.0",
"uniqueId": "746152539157942999"
}]
},
{
"groupIndex": 1,
"groupTitle": "Only in America With Larry the Cable Guy",
"isRecording": false,
"numItems": 4,
"numNewItems": 3,
"recordings": [
{
"callsign": "HISTHD",
"contentId": "1 1 14F914 6",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 269,
"minor": 65535,
"offset": 0,
"programId": "7291198",
"rating": "TV-14-D-L",
"startTime": 1300237200,
"title": "Only in America With Larry the Cable Guy",
"uniqueId": "2181176299066538488"
},
{
"callsign": "HISTHD",
"contentId": "1 1 14F914 9",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 269,
"minor": 65535,
"offset": 0,
"programId": "7282523",
"rating": "TV-14-D-L",
"startTime": 1299636000,
"title": "Only in America With Larry the Cable Guy",
"uniqueId": "190481664334799907"
},
{
"callsign": "HISTHD",
"contentId": "1 1 14F914 8",
"duration": 1800,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 269,
"minor": 65535,
"offset": 0,
"programId": "7257957",
"rating": "TV-14-D-L",
"startTime": 1299033000,
"title": "Only in America With Larry the Cable Guy",
"uniqueId": "6052094577057230326"
},
{
"callsign": "HISTHD",
"contentId": "1 1 14F914 4",
"duration": 1800,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": true,
"isVod": false,
"keepUntilFull": true,
"major": 269,
"minor": 65535,
"offset": 653,
"programId": "7257955",
"rating": "TV-14-D-L",
"startTime": 1299031200,
"title": "Only in America With Larry the Cable Guy",
"uniqueId": "1523092780043297888"
}
]
},
{
"groupIndex": 2,
"groupTitle": "House",
"isRecording": false,
"numItems": 2,
"numNewItems": 1,
"recordings": [
{
"callsign": "KDSM",
"contentId": "1 1 A80E7 EE",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 17,
"minor": 65535,
"offset": 0,
"programId": "7287725",
"rating": "TV-14-D-L-S",
"startTime": 1300147200,
"title": "House",
"uniqueId": "1144782076942836073"
},
{
"callsign": "KDSM",
"contentId": "1 1 A80E7 ED",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": true,
"isVod": false,
"keepUntilFull": true,
"major": 17,
"minor": 65535,
"offset": 0,
"programId": "7268797",
"rating": "TV-14-D-L-V",
"startTime": 1299546000,
"title": "House",
"uniqueId": "1898085916080539219"
}
]
},
{
"groupIndex": 3,
"groupTitle": "",
"isRecording": false,
"numItems": 1,
"numNewItems": 0,
"recordings": [{
"callsign": "HBOZHD",
"contentId": "1 2 1C382 0",
"duration": 6599,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": true,
"isVod": false,
"keepUntilFull": true,
"major": 509,
"minor": 65535,
"offset": 48,
"programId": "1387698",
"rating": "PG-13",
"startTime": 1299802200,
"title": "Behind Enemy Lines",
"uniqueId": "5498903274797781015"
}]
},
{
"groupIndex": 4,
"groupTitle": "",
"isRecording": false,
"numItems": 1,
"numNewItems": 1,
"recordings": [{
"callsign": "STZwHD",
"contentId": "1 2 3AC0D 0",
"duration": 9896,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 528,
"minor": 65535,
"offset": 0,
"programId": "6624412",
"rating": "PG-13",
"startTime": 1298772903,
"title": "2012",
"uniqueId": "3380509972407202043"
}]
},
{
"groupIndex": 5,
"groupTitle": "",
"isRecording": false,
"numItems": 1,
"numNewItems": 1,
"recordings": [{
"callsign": "MAXeHD",
"contentId": "1 2 3D9B9 0",
"duration": 9900,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 515,
"minor": 65535,
"offset": 0,
"programId": "6922191",
"rating": "PG-13",
"startTime": 1298689200,
"title": "Avatar",
"uniqueId": "4345527889467997486"
}]
},
{
"groupIndex": 6,
"groupTitle": "",
"isRecording": false,
"numItems": 1,
"numNewItems": 1,
"recordings": [{
"callsign": "WOI",
"contentId": "1 1 9AA8F 114",
"duration": 1646,
"expiration": "0",
"isOffAir": false,
"isPartial": true,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 5,
"minor": 65535,
"offset": 0,
"programId": "7227619",
"rating": "TV-PG",
"startTime": 1298251953,
"title": "Extreme Makeover: Home Edition",
"uniqueId": "2351295759056582183"
}]
},
{
"groupIndex": 7,
"groupTitle": "",
"isRecording": false,
"numItems": 1,
"numNewItems": 1,
"recordings": [{
"callsign": "WOI",
"contentId": "1 1 3E1 17B7",
"duration": 11268,
"expiration": "0",
"isOffAir": false,
"isPartial": true,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 5,
"minor": 65535,
"offset": 0,
"programId": "7099529",
"rating": "No Rating",
"startTime": 1293907932,
"title": "College Football",
"uniqueId": "2289360144776812126"
}]
},
{
"groupIndex": 8,
"groupTitle": "",
"isRecording": false,
"numItems": 1,
"numNewItems": 1,
"recordings": [{
"callsign": "LIFEHD",
"contentId": "1 2 52EFC 0",
"duration": 14400,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 252,
"minor": 65535,
"offset": 0,
"programId": "7016580",
"rating": "TV-PG-D",
"startTime": 1293206400,
"title": "Marry Me",
"uniqueId": "6259234162358571581"
}]
},
{
"groupIndex": 9,
"groupTitle": "Psych",
"isRecording": false,
"numItems": 47,
"numNewItems": 47,
"recordings": [
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 53",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "7059820",
"rating": "TV-PG",
"startTime": 1293073200,
"title": "Psych",
"uniqueId": "105692579159875665"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 52",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "7033412",
"rating": "TV-PG",
"startTime": 1292468400,
"title": "Psych",
"uniqueId": "302776988496924419"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 51",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "7033411",
"rating": "TV-PG",
"startTime": 1292464800,
"title": "Psych",
"uniqueId": "9046640238408254013"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 2A",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "7030687",
"rating": "TV-PG",
"startTime": 1292421600,
"title": "Psych",
"uniqueId": "5021992390122567975"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 1B",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "7030686",
"rating": "TV-PG",
"startTime": 1292418000,
"title": "Psych",
"uniqueId": "7520681964609109382"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 30",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "7030685",
"rating": "TV-PG",
"startTime": 1292410800,
"title": "Psych",
"uniqueId": "4285021279578257896"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 50",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "7012014",
"rating": "TV-PG",
"startTime": 1291863600,
"title": "Psych",
"uniqueId": "5524288231789993287"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 2F",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "7009846",
"rating": "TV-PG",
"startTime": 1291813200,
"title": "Psych",
"uniqueId": "4331213308513415689"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 2E",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "7009845",
"rating": "TV-PG",
"startTime": 1291809600,
"title": "Psych",
"uniqueId": "7412127733781713736"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 2D",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "7009844",
"rating": "TV-PG",
"startTime": 1291806000,
"title": "Psych",
"uniqueId": "7326784205522409233"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 4F",
"duration": 4020,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "6989899",
"rating": "TV-PG",
"startTime": 1291258800,
"title": "Psych",
"uniqueId": "6305467954676322173"
},
{
"callsign": "USAHD",
"contentId": "1 1 CC8CA 2C",
"duration": 3600,
"expiration": "0",
"isOffAir": false,
"isPartial": false,
"isPpv": false,
"isRecording": false,
"isViewed": false,
"isVod": false,
"keepUntilFull": true,
"major": 242,
"minor": 65535,
"offset": 0,
"programId": "6986779",
"rating": "TV-PG",
"startTime": 1291217400,
"title": "Psych",
"uniqueId": "7346692559568560710"
}
]
}
],
"status": {
"code": 200,
"msg": "OK.",
"query": "/dvr/getPlayList?"
},
"totalNumItems": 68,
"type": "user"
}