A JSON Decoding Extension


#1

I have made an experimental Extension for JSON decode based on Evan W Patton’s idea. This Extension might be intuitive and easy to understand because it can hierarchically acquire necessary information with the tag names (properties) without using complicated operations on nested lists. Details are on the following blog. Thanks.


How can I do this?
#3

In order to test this Extension, I created a simple book search application. There is still room for improvement on this Extension. Please see the article here.


#4

Wow. Great extension. :+1:


#5

Thanks Peter,
I am glad to hear it.


#6

this plugin is like jsonpath or xpath… great


#7

Thanks seaser_app
As you pointed out, this is similar to JsonPath or XPath specifications.
However, the query syntax in this extension is simpler and it is designed to be easy to use for general App Inventor users.


#8

I am experimenting with the extension. It still says it is in Beta. Do you have any plans with it? This is really very simple compared to other json extensions around.


#9

Thanks, Peter

I was trying to make improvements as shown at the end of the following article. That is, for elements at the same hierarchy level, they can be get at once (not one by one). However, the needs don’t seem to be so high, so I’m hesitant.


#10

I have tested multiple extensions and yours worked the easiest for me. I hope you will do more work on it. I am planning to make a small tutorial for my blog were i use your extension and this website https://noopschallenge.com/ to work on some challenges.

I especially like the one block check the Json list and Query list option.


#11

Peter,
Thank you again for your encouragement.


#12

The noopschallenges are really small challenges for a user to make. Ideal for tutorials. With the first tutorial you get a small json file.

image

When i use your extension i make a querylist of only the item colors. The result is a list with the value and hexcolor . I then select index two of the list to get the hexcolorvalue.

I would have thought i could also put value in the querylist to get to the hexcolor.


#13

I would like to answer about your following JSON file:

{
“colors”:[
{“value”:"#821160"}
]
}

If you give “colors” as a query to my Extenstion, the result will be a list of list ((value # 821160)).
However, if “colors, value” is given as a query, “# 821160” will be obtained as a result.

As I described in my document, this Extension converts an array or list with only one element as follows. So, please provide search list(queryL) based on this conversion concept:

“authors”: [“Jason Tyler”] -> “authors”:“Jason Tyler”
“X”: [{“B”:“b”, “D”:“d”}] -> “X”: {“B”:“b”, “D”:“d”}
{{“S”:“s”, “U”:“u”}} -> {“S”:“s”, “U”:“u”}


#14

If i do that i get “The second argument to foreach is not list. The second argument is: #821160

I use a for each with the querylist of only colors. Removing the for each makes it work with colors, value as a querylist.

You can set how many colors should be returned. So now there is only one value but there could be also ten or more.

So you get

{
“colors”:[
{“value”:"#821160"}
{“value”:"#821160"}
{“value”:"#821160"}
{“value”:"#821160"}
]
}


#15

Thanks, Peter

I may not have a complete understanding of your situation.
However, it would be nice if my document below would be helpful.

“How to get all of array elements” by using forEach


#16

Hello,
I cannot understand what URL I should input in the AppyBuilder editor to use your extension.
I refer to the left pane, the extension tab, then the import from URL.

Thanks!
my first post, please have patience :slight_smile:


#17

I think this question is not about my extension, but about the extension in general. Please see the extension documentation.
In this case, specify the extension file (not the URL) after downloading it to your PC.


#18

Thanks. Very useful and friendly extension. Just what I needed.


#19

Thank you very much. I’m glad that this extension and its documentation will be useful to you.