json format help

I’ve been trying to make a “series” json file…
this is the format I got so far from the help on the website.. But it fails the check.. can anyone see what I am missing, maybe a second eye will help me out.. once we get this one working then there will be a working example for all..

{ “providerName”: “Acme Productions”,
“lastUpdated”: “2015-11-11T22:21:37+00:00”,
“language”: “en”,
“Series”:[
{
“id”: “1509428502952”,
“title”: “The Amazing Series with Seasons!”,
“seasons”: [
{
“seasonNumber”: “1”,
“episodes”: [
{
“id”: “1509428502952”,
“title”: “The Amazing First Episode Title”,
“content”: {
{
“dateAdded”: “2015-11-11T22:21:37+00:00”,
“videos”: [
{
“url”: “https://example.org/cdn/videos/1509428502952”,
“quality”: “UHD”,
“videoType”: “HLS”
}
],
“duration”: 1290
}
},
“thumbnail”: “https://example.org/cdn/thumbnails/1509428502952/1”,
“episodeNumber”: 1,
“shortDescription”: “Marvelous episode description”
}
]
}
],
“genres”: [
“educational”,
“science fiction”,
“thriller”,
],
“thumbnail”: “https://example.org/cdn/thumbnails/1509428502952/1”,
“shortDescription”: “Wondrous series seasons.”
}]
}

Mitch, I noticed two { { after content? Not sure if that’s allowed in json or not, so I took one of em out, and Thriller had a comma after it but it was the last item in a list. See if the below works.

{
    "providerName": "Acme Productions",
    "lastUpdated": "2015-11-11T22:21:37+00:00",
    "language": "en",
    "Series": [{
        "id": "1509428502952",
        "title": "The Amazing Series with Seasons!",
        "seasons": [{
            "seasonNumber": "1",
            "episodes": [{
                "id": "1509428502952",
                "title": "The Amazing First Episode Title",
                "content": {
                    "dateAdded": "2015-11-11T22:21:37+00:00",
                    "videos": [{
                        "url": "https://example.org/cdn/videos/1509428502952",
                        "quality": "UHD",
                        "videoType": "HLS"
                    }],
                    "duration": 1290
                },
                "thumbnail": "https://example.org/cdn/thumbnails/1509428502952/1",
                "episodeNumber": 1,
                "shortDescription": "Marvelous episode description"
            }]
        }],
        "genres": [
            "educational",
            "science fiction",
            "thriller"
        ],
        "thumbnail": "https://example.org/cdn/thumbnails/1509428502952/1",
        "shortDescription": "Wondrous series seasons."
    }]
}

Use a linter, like jsonlint.com, to check your JSON before submitting it. I found a couple of syntax errors. The code below validates, but I didn’t check it closely to see if it follows the schema. If you need a series template that does, I can send you one. Your valid code is below:

{
“providerName”: “Acme Productions”,
“lastUpdated”: “2015-11-11T22:21:37+00:00”,
“language”: “en”,
“Series”: [{
“id”: “1509428502952”,
“title”: “The Amazing Series with Seasons!”,
“seasons”: [{
“seasonNumber”: “1”,
“episodes”: [{
“id”: “1509428502952”,
“title”: “The Amazing First Episode Title”,
“content”: {
“dateAdded”: “2015-11-11T22:21:37+00:00”,
“videos”: [{
“url”: “https://example.org/cdn/videos/1509428502952”,
“quality”: “UHD”,
“videoType”: “HLS”
}],
“duration”: 1290
}
}],
“thumbnail”: “https://example.org/cdn/thumbnails/1509428502952/1”,
“episodeNumber”: 1,
“shortDescription”: “Marvelous episode description”
}]
}],
“genres”: [
“educational”,
“science fiction”,
“thriller”
],
“thumbnail”: “https://example.org/cdn/thumbnails/1509428502952/1”,
“shortDescription”: “Wondrous series seasons.”
}

pasnow, yeah that passes the lint test.. gonna plug in some of my data and see what happens. Thats awesome!!

stubbstarbuck , yeah I put it through there and the other one as well both responded with an error at { "provider…

which basically means there is a syntax error somewhere in the document…

welp I’m about to give up on this json stuff.. there’s too many control characters to keep track of it all.. I think it would about be easier to learn french then keep track of all the [{}] stupid stuff it needs.. comma delimited files worked for us from 1975-1990 without one problem and alot more clarity then this stuff.. I just spent 20 hours straight and I can’t get the syntax down for more then 1 tv series video at a time. as soon as I add more then one the stupid brackets get all out of whack.. And since I program in classic asp there’s noone here who can help with it and no one outside of here that is willing to go to the trouble of doing json, they do xml not json..

I really do not know how anyone can say, NO Scripting required, when you have to write in json scripting language.. arrrrrggghhh

I’m gonna go take a nap and maybe get back at it later on.. just so frustrating..

It is frustrating, but once you figure it out it clicks…

I rely on this: http://jsonviewer.stack.hu/

When I have time I’ll take a look

http://jsonlint.com/

this one gives you pretty good error checking.. though it doesn’t fail mistyped variables just tells you where it encounters syntax errors..

How are you creating this feed? Are you typing it in manually?

LOL, as I said, now I am passing lint, but NO VALID ITEMS WERE FOUND IN THE FEED…

I shoulda just went to bed.. lol

“Zelkowo” wrote:
How are you creating this feed? Are you typing it in manually?
LOL, no way, 14+ seasons 30+ average videos per season..
I’m coding in classic asp to read my database and write the json file..
I got it working with standard videos, but with standard videos the DP has too many limitations, it was suggested I do it as a series, since that is what it is, a tv series..
I would post what I am creating, but the forums are limited to 60,000 characters to a post and my json file has 251,000+ characters just for one tv series. I have 8 to put in the channel.

I’m still not getting what is wrong with the old sample player and why that couldn’t have been used as the model for the DP player with it’s nice easy use of xml files instead of json files and it’s much unneccessary complex syntax. I guess I’m just getting too old for this stuff..

Speaking of old, does anyone know if IIS from server 2016 standard still supports classic asp or should I stick with 2012 r2?

[table][tr][td]/td]
Mitch
Apr 19, 22:47 PDT
I created this json file (snipet)
{
“providerName”: “TVByDemand Productions”,
“lastUpdated”: “2017-04-20T12:57:08+00:00”,
“language”: “en”,
“id”: “1”,
“title”: “Bonanza”,
“seasonnumber”: “1”,
“id”: “2085”,
“title”: “S1E12 The Hanging Posse”,
“content”: {
“dateAdded”: “2016-03-03T12:35:13+00:00”,
…n1/s01e12/finished.ism/manifest",
}
It passes lint but when I add it to my channel in dp it says no valid entries…
What am I missing? Been working on this all day..
[/tr]
[/table]

So here is where I am stuck, this passes the lint test but roku says no valid entries found… Anyone got any ideas, it might be a simple thing I just keep missing, maybe just a glance at it by a second set of eyes..

at the end of your urls you have a [/color] ? Is that supposed to be there, or did that just post into the forum somehow?!

“mitchstein” wrote:
[table][tr][td]/td]
Mitch
Apr 19, 22:47 PDT
I created this json file (snipet)

It passes lint but when I add it to my channel in dp it says no valid entries…
What am I missing? Been working on this all day..
[/tr]
[/table]

So here is where I am stuck, this passes the lint test but roku says no valid entries found… Anyone got any ideas, it might be a simple thing I just keep missing, maybe just a glance at it by a second set of eyes..
Same problem but I have an idea.
based on Direct Publisher Feed (JSON) document (https://github.com/rokudev/feed-specifi … .md#season), seasonNumber type is integer. I think we should try:
“seasonNumber”: 1, Without quotation marks
I updated my json but still waiting for processing.

“Pasnow” wrote:
at the end of your urls you have a [/color] ? Is that supposed to be there, or did that just post into the forum somehow?!
No the forums added that… guessing when I told it to remove the hyperlinks in the editor because they would normally be blue..

“mosafer” wrote:

“mitchstein” wrote:
[table][tr][td]/td]
Mitch
Apr 19, 22:47 PDT
I created this json file (snipet)

It passes lint but when I add it to my channel in dp it says no valid entries…
What am I missing? Been working on this all day..
[/tr]
[/table]

So here is where I am stuck, this passes the lint test but roku says no valid entries found… Anyone got any ideas, it might be a simple thing I just keep missing, maybe just a glance at it by a second set of eyes..
Same problem but I have an idea.
based on Direct Publisher Feed (JSON) document (https://github.com/rokudev/feed-specifi … .md#season), seasonNumber type is integer. I think we should try:
“seasonNumber”: 1, Without quotation marks
I updated my json but still waiting for processing.
when you import the json file, it should have a slight pause and then tell you how many items it imported.. that is where I get my error stating “No valid entries found” (thats not a word for word verbatim error but the spirit to my best recollection)

Mine was exactly same situation. I removed the quotations and problem solved.

I’ll try the capital S removal and replace with lcase s.. I missed the case sensitive explanation, or should say forgot that detail after reading the docs. It’s a habit of mine to capital the first letter of a new sentence/concept. While I wasn’t looking for that (mostly because I always place a LCase(a$) whenever dealing with varibles in all my projrcts, mostly because I know I do that. lol..

Yes I agree out of all the forum editors I have ever used this is the sloppiest. And I just decommissioned MaxWeb Portal from the year 2000. which was more robust then this forum. lol. The source is actually indented, somewhere along the way the copy^paste removed the indentations. To be honest, in my state of frustration and lack of sleep I didn’t even notice.

Well, I replaced the S with an s, and it made no difference.. HOWEVER..
When I went in to check the Feed Status it has several errors.. No valid duration for 421 items (which is how many episodes I have) no valid ID number.
We removed the quotes from the numbers because we thought maybe they were integers and not text based variables and that might have been the problem.. welp, nope they need the quotes.

Then it doesn’t like the date format, even though it is exactly the same routine used to create the same exact videos in as VIDEO instead of SERIES.. (all lowercase of course because in 2017 it’s still case sensitive).

and then there are other errors too many to go into, but I attempted to correct each one in the code and still no go..

here’s the top portion of the json file. just first two episodes. (doing it by following the advise given in raw non gui format, again cause it’s only 2017 and we havn’t gotten those basic concepts down yet).

{
    "providerName": "TVByDemand Productions",
    "lastUpdated": "2017-04-21T8:41:08+00:00",
    "language": "en",
    "series": [{
        "id": "1",
        "title": "Bonanza",
        "seasons": [{
            "seasonnumber": "1",
            "episodes": [{
                    "id": "2085",
                    "title": "S1E12 The Hanging Posse",
                    "content": {
                        "dateAdded": "2016-03-03T12:35:13+00:00",
                        "videos": [{
                            "url": "http://www.tvbydemand.com/...../finished.ism/manifest",
                            "quality": "SD",
                            "videoType": "SMOOTH",
                            "duration": "3623",
                            "thumbnail": "http://www.tvbydemand.com/images/bonanza.JPG",
                            "episodenumber": "12",
                            "shortDescription": "S1E12 The Hanging Posse"
                        }]
                    }
                },
                {
                    "id": "2086",
                    "title": "S1E13 Vendetta",
                    "content": {
                        "dateAdded": "2016-03-03T12:35:14+00:00",
                        "videos": [{
                            "url": "http://www.tvbydemand.com/media3/...../finished.ism/manifest",
                            "quality": "SD",
                            "videoType": "SMOOTH",
                            "duration": "2969",
                            "thumbnail": "http://www.tvbydemand.com/images/bonanza.JPG",
                            "episodenumber": "13",
                            "shortDescription": "S1E13 Vendetta"
                        }]
                    }
                }
            ]
        }]
    }]
}

The … in the urls are on purpose they are not in the live json file either.. if anyone notices anything obvious feel free to inform me (even in for lack of better term in 2017 and going back to the 1980’s FLAME on me with the answer.)

One of the errors it is listing is “missing required episode thumbnail” I looked and it is there, I checked the url and it works, so I am thinking maybe in addition to being context sensitive it is also order sensitive. And without a working example, that is simply impossible to figure out. Short of trying every possible place until works or just getting lucky trying random placement. Plus it takes the system like two hours to generate the more detailed error log. It’s like hacking a password using a wardialer.. lol