Cannot deserialize the current JSON array

An evolving, supported alternative to Rovi
Forum rules
★ Download the latest EPG123 here: https://garyan2.github.io/ <> Setup guide here: https://garyan2.github.io/install.html
Post Reply
CrossCech

Posts: 6
Joined: Wed Mar 15, 2017 6:08 pm
Location:

HTPC Specs: Show details

Cannot deserialize the current JSON array

#1

Post by CrossCech » 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: 6
Joined: Wed Mar 15, 2017 6:08 pm
Location:

HTPC Specs: Show details

#2

Post by CrossCech » 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?

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#3

Post by Space » 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.

CrossCech

Posts: 6
Joined: Wed Mar 15, 2017 6:08 pm
Location:

HTPC Specs: Show details

#4

Post by CrossCech » 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?

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#5

Post by garyan2 » 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"
            }
        }, {
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

User avatar
12noon

Posts: 127
Joined: Mon Oct 06, 2014 4:23 pm
Location:

HTPC Specs: Show details

#6

Post by 12noon » 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. ;-)
USA 60005
WOW Chicago Suburbs - Digital
USA-IL58819-X

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#7

Post by Space » 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 :)

rkulagow

Posts: 246
Joined: Sun Jul 19, 2015 1:04 am
Location: Schedules Direct

HTPC Specs: Show details

#8

Post by rkulagow » 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.

CrossCech

Posts: 6
Joined: Wed Mar 15, 2017 6:08 pm
Location:

HTPC Specs: Show details

#9

Post by CrossCech » 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!

BigPinkDragon286

Posts: 1
Joined: Tue Apr 04, 2017 4:22 am
Location:

HTPC Specs: Show details

#10

Post by BigPinkDragon286 » 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.

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#11

Post by garyan2 » 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"
            }],
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

stuartm

Posts: 721
Joined: Mon Nov 05, 2012 8:05 pm
Location: Longmont, CO

HTPC Specs: Show details

#12

Post by stuartm » 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.

rkulagow

Posts: 246
Joined: Sun Jul 19, 2015 1:04 am
Location: Schedules Direct

HTPC Specs: Show details

#13

Post by rkulagow » 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.

Post Reply