how can i import data from a local json file?
By “local” do you mean it’s part of the channel pkg/zip file?
yes exactly
json = ParseJson(ReadAsciiFile("pkg:/dir/file.json")
perfect thank you, will give it a shot
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?
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
okay thank you will try it
![]()
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
You don’t need to do that as you will only get row #3
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
print i,"Poster is ";json[i].poster
print i,"Description is ";json[i].description
end for
end if
it gives me an error it doesnt compile
json = ParseJson(ReadAsciifile(“pkg:/assets/Data.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
print i, "poster is " json[i].poster
print i, "desc is " json[i].description
end for
end if
this is what i did but this only displays the data on the terminal, i actually want to use the data to set them for the fields i already have and display on screen
instead of doing m.tile.title = “title1”
and m.tile.descriptionText=“this is new description for first tile”
i want to load it from the json file
I don’t understand why use a json with multiple content and get only 1, you should use a rowlist and select the one I want to display information from
i want to retrieve all data in the json file but i was just trying on one i dont know how to do that
Could you help to know more about the code so I can help you?
okay so what i want to do is that instead of setting the fields {title and image and description} manually from here like the code below i want to load them from the json file.
so instead of doing this:
m.tile.titleText = “Title1”
m.tile.descriptionText = “this is the new description for the first tile”
m.tile.posterUrl = “pkg:/assets/images/image1.jpg”
i want to use the data in the json file
@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.
worked perfectly thank you so much for your clarification and your help this helped me a lot. still trying to learn thank you so much again
![]()
