Cannot deserialize the current JSON array

An evolving, supported alternative to Rovi
Important Information
★ Download the latest EPG123 here: http://epg123.garyan2.net <> Setup guide here: http://epg123.garyan2.net/downloads/epg123_Guide.pdf

Cannot deserialize the current JSON array

Post#1 » Wed Mar 15, 2017 6:17 pm

I updated EPG123 to v1.1.3 from a version that required me to use the special utility. It seemed to work successfully at the time. I was able to update and import the guide into WMC fine. Then after about a week I started getting an error when opening EPG123.exe. The following is the error I see in the command line box behind the gui:
Opening epg123 configuration GUI...
Checking for EPG123 updates ...
Reading configuration file ...
Logging in to Schedules Direct ...
Retrieving membership status ...
Building lineup tabs ...
Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'epg123.sdApi.SdLineupStation' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path 'stations[38]', line 1, position 25699.

I've looked in the forums here to see that needs to be done. I'm not a coder so I'm not sure how to investigate or resolve this issue.

I've actually even installed this on a fresh install on a 2nd PC, to see if the problem was my first PC, but get the same error, but the error shows up in a red dialog box.

Any advice would be appreciated!
CrossCech
 
Posts: 4
Joined: 15 March 2017

Post#2 » Wed Mar 15, 2017 10:29 pm

I guess I'm not understanding why or how this got broken on my original PC and every other PC in my house that I've tried installing EPG123 v1.1.3 has this same exact error.

Is there a disconnect between EPG123 and SchedulesDirect that I'm missing? According to the command line box it connects to SD, confirms membership status (which I'm paid up til Oct '17), tries building lineup tabs, then boogers up at that point with Cannot deserialize ....

Since JSON is JavaScript Object Notation ... I even thought to update Java for windows (Version 8 Update 121). Didn't help either.

I assume it has to do with the newtonsoft.json.dll file in the epg123 folder.

Thoughts anyone?
CrossCech
 
Posts: 4
Joined: 15 March 2017

Post#3 » Wed Mar 15, 2017 10:39 pm

Javascript has nothing to do with Java.

I would guess that there might be something specific with your lineup that is causing problems. Have you tried other lineups just as a test to see if the same thing happens?

Probably a good idea to post your zip code/provider/lineup so that it can be looked at by Gary.
Space
 
Posts: 1161
Joined: 2 June 2013

Post#4 » Wed Mar 15, 2017 11:05 pm

Edit* Just realized I hadn't thanked you for your response and help. I really do appreciate getting some help from you and others here, so before continuing on, please accept my gratitude. **

Running windows 10 w/WMC, using 8 combined tuners (PCI/PCI-e Hauppauge cards & HDHR older version) all OTA antenna. Zip code is 83686.

Not sure how I can try other lineups when I'm not actually able to get into the epg123.exe gui because of the error. Error comes up then everything is grayed out therefore preventing me from trying a different lineup / tab.

Ideas?
CrossCech
 
Posts: 4
Joined: 15 March 2017

Post#5 » Thu Mar 16, 2017 2:59 am

Sorry took so long, I just got to my computer to check this out.

There is, what I think, an error in the return for your lineup from Schedules Direct. Snippit is below. Notice the "[]" brackets below between stationIds 97212 and 32930 that indicate another array, which is empty, and doesn't belong there. I actually don't have a method in my code to handle such an error so we need to get it fixed at the source. Please open a ticket with SD to get the JSON return for your lineup corrected. If you reference this post, rkulagow will get it fixed in no time.


Code: Select all
        }, {
            "stationID": "97212",
            "name": "KYUULD3 (KYUU-LD3)",
            "callsign": "KYUULD3",
            "affiliate": "COMET",
            "broadcastLanguage": ["en"],
            "descriptionLanguage": ["en"],
            "broadcaster": {
                "city": "Boise",
                "state": "ID",
                "postalcode": "83701",
                "country": "United States"
            },
            "stationLogo": [{
                "URL": "https:\/\/s3.amazonaws.com\/schedulesdirect\/assets\/stationLogos\/s97051_h3_aa.png",
                "height": 270,
                "width": 360,
                "md5": "9aff73ecfcc265885b3c68",
                "source": "Gracenote"
            }],
            "logo": {
                "URL": "https:\/\/s3.amazonaws.com\/schedulesdirect\/assets\/stationLogos\/s97051_h3_aa.png",
                "height": 270,
                "width": 360,
                "md5": "9aff73ecfcc265885b3c68"
            }
        },
        [], {
            "stationID": "32930",
            "name": "KCLPCA (KCLP-CA)",
            "callsign": "KCLPCA",
            "broadcastLanguage": ["en"],
            "descriptionLanguage": ["en"],
            "broadcaster": {
                "city": "Salt Lake City",
                "state": "UT",
                "postalcode": "84104",
                "country": "United States"
            }
        }, {
User avatar
garyan2
 
Posts: 2194
Joined: 27 November 2015
HTPC Specs: Show details
- Gary
Stomping out the Rovi disease, one media center at a time. http://epg123.garyan2.net

Post#6 » Thu Mar 16, 2017 12:36 pm

Yeah, SD errors are tricky to deal with because the user can't tell if it's the application or the source data. You might find it useful to have EPG123 catch such JSON-format exceptions and display a message box telling the user what's happened and include the JSON exception text with the path to the MXF file so they can include it in the support ticket for SD (and then exit cleanly). Then users won't have to come to the forum and ask you diagnose every SD error. ;-)
User avatar
12noon
 
Posts: 39
Joined: 6 October 2014
USA 60005
WOW Chicago Suburbs - Digital
USA-IL58819-X

Post#7 » Thu Mar 16, 2017 3:27 pm

It's always best to catch any errors and display a meaningful error message rather than have the program crash, but I understand how difficult it can be to catch every possible error :)
Space
 
Posts: 1161
Joined: 2 June 2013

Post#8 » Thu Mar 16, 2017 3:48 pm

I've forced a rebuild of the lineup on the server; please refresh and let me know if that fixed the issue.
rkulagow
 
Posts: 225
Joined: 19 July 2015
Location: Schedules Direct

Post#9 » Thu Mar 16, 2017 4:48 pm

Wow!

Go to bed and then wake up to people working behind the scenes to resolve my issue. I was about to send a message again through email to SD and found instead a request to refresh and see if EPG123 is working again. It is!

Thanks so much guys!
CrossCech
 
Posts: 4
Joined: 15 March 2017

Post#10 » Tue Apr 04, 2017 5:00 am

Seem to be experiencing the same issue. Wasn't sure if a new thread should be started, or if I should just post in this one as the OP's issue seems to have been resolved, and this may be a continuing issue with SD and epg123.

I usually download the maximum number of days from SD during updates and only noticed the JSON error as a result of WMC reporting it was low on guide data. Attempting to run epg123 manually brought the error up.

A quick search brought this thread up.

Running both Windows 7 and Windows 8.1 w/WMC, using OTA tuners. Zip code is 97132.
BigPinkDragon286
 
Posts: 1
Joined: 4 April 2017

Post#11 » Tue Apr 04, 2017 7:27 am

Yup, same thing. Please open a ticket with Schedules Direct to fix the lineup.

Code: Select all
        }, {
            "stationID": "102820",
            "name": "KEVELD2 (KEVE-LD2)",
            "callsign": "KEVELD2",
            "broadcastLanguage": ["en"],
            "descriptionLanguage": ["en"]
        },
        [], {
            "stationID": "102822",
            "name": "KEVELD4 (KEVE-LD4)",
            "callsign": "KEVELD4",
            "affiliate": "ESPRNZA",
            "broadcastLanguage": ["es"],
            "descriptionLanguage": ["es"],
            "stationLogo": [{
                "URL": "https:\/\/s3.amazonaws.com\/schedulesdirect\/assets\/stationLogos\/s65095_h3_aa.png",
                "height": 270,
                "width": 360,
                "md5": "c6a56fb49b3ba9149b3e5d",
                "source": "Gracenote"
            }],
User avatar
garyan2
 
Posts: 2194
Joined: 27 November 2015
HTPC Specs: Show details
- Gary
Stomping out the Rovi disease, one media center at a time. http://epg123.garyan2.net

Post#12 » Tue Apr 04, 2017 6:56 pm

Hi Gary,
Since this seems to be a recurring problem with SD, is it something you can catch/work around without failing a guide update?
Know you can't correct every problem that might occur in the input data stream but as much hardening as possible is always a good thing.
stuartm
 
Posts: 320
Joined: 5 November 2012
Location: Longmont, CO
HTPC Specs: Show details

Post#13 » Tue Apr 04, 2017 7:10 pm

Hi - when opening a ticket, please don't use the Schedules Direct forum if you've having a specific issue. Instead, open a ticket at the Schedules Direct website, because there's metadata in the ticket that I use to troubleshoot what's happening.
rkulagow
 
Posts: 225
Joined: 19 July 2015
Location: Schedules Direct


Return to EPG123



Who is online

Users browsing this forum: No registered users and 1 guest

cron