I'm just exploring the JSON support in Keyboard Maestro.
I want to get all values of a JSON variable. I don't know how to do it easily without having to use the loop action.
Sample JSON (I use only 2 elements for example. A real JSON array could contain many more than 2):
[
{
"id" : 12345,
"name" : "John Smith",
},
{
"id" : 67890,
"name" : "Mark Smith",
}
]
I want to get all the [id]s:
12345
67890
Right now, the only way I know of is to loop through all data.
First, get the count of the JSON variable:
Var = %JSONValue%Local__JSON[0]%
Then, loop through it:
For i = 1, i ++, Var
%JSONValue%Local__JSON[i].id%
Is there an easier way to do it?
In Shell script, I can use this:
cat | jq '.[].id'
# [] will get all elements in the JSON array, and .id will get all the [id]s.
It's OK if KM cannot do it with one action yet. The shell script serves my need. I just want to explore the JSON function in KM.