Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
youssefsherif
Streaming Star

impoting data from a json file

Jump to solution

how can i import data from a local json file?

0 Kudos
1 Solution

Accepted Solutions
renojim
Community Streaming Expert

Re: impoting data from a json file

Jump to solution

@youssefsherif, when you post code don't do a screenshot, do a copy and paste into a code block.  The icon looks like </> when you expand the toolbar when you make a post.  It will open a popup for you to paste your code into.

Just replace the text in the code with the proper object property from the parsed JSON.

Instead of:

m.tile.descriptionText = "This is a description"

You would have:

m.tile.descriptionText = json[2].description

 

json[2] is third entry of json and is an object with several parts:   title, poster, and description.  Just "json" is an even larger object (an roArray) with, in this case, 3 entries each of which is an object itself (an roAssociativeArray).  Array indices start from 0, so in this example json[3] doesn't exist.  There's only json[0], json[1], and json[2].  You need to understand these concepts or you're going to have a tough time with BrightScript.

Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.

View solution in original post

24 REPLIES 24
renojim
Community Streaming Expert

Re: impoting data from a json file

Jump to solution

By "local" do you mean it's part of the channel pkg/zip file?

Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
youssefsherif
Streaming Star

Re: impoting data from a json file

Jump to solution

yes exactly 

0 Kudos
renojim
Community Streaming Expert

Re: impoting data from a json file

Jump to solution
json = ParseJson(ReadAsciiFile("pkg:/dir/file.json")
Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
youssefsherif
Streaming Star

Re: impoting data from a json file

Jump to solution

perfect thank you, will give it a shot

0 Kudos
youssefsherif
Streaming Star

Re: impoting data from a json file

Jump to solution

if i have a json file that contains data of multiple tiles and each tile consists of 2 labels and a poster and i have the data in the json file how can i exactly use them? Screenshot 2022-12-15 at 7.13.13 PM.png

0 Kudos
renojim
Community Streaming Expert

Re: impoting data from a json file

Jump to solution

When you use ParseJason you'll get an object back (or invalid if the JSON isn't valid), so you'd do something like this:

json = ParseJson(ReadAsciifile("pkg:/dir/file.json"))
' check json:
if json <> invalid then
   print json.Count();" entries"
   for i = 0 to json.Count()-1
      print i,"Title is ";json[i].title
   end for
end if
Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
0 Kudos
youssefsherif
Streaming Star

Re: impoting data from a json file

Jump to solution

okay thank you will try it 👌👌

0 Kudos
youssefsherif
Streaming Star

Re: impoting data from a json file

Jump to solution

one more question if i want to assign the title to the title in json ow can i do that?

i tried but it didnt work

m.tile.titleText=json[3].title
0 Kudos
xoceunder
Roku Guru

Re: impoting data from a json file

Jump to solution

You don't need to do that as you will only get row #3

0 Kudos
Need Assistance?
Welcome to the Roku Community! Feel free to search our Community for answers or post your question to get help.

Become a Roku Streaming Expert!

Share your expertise, help fellow streamers, and unlock exclusive rewards as part of the Roku Community. Learn more.