jmespath.site
jmespath.site copied to clipboard
Tutorial: list vs array
It's not clear to me whether "list" and "array" are intended to have different meanings in the tutorial.
I could imagine that "array" would refer to the actual json datatype, while "list" would be a more general sequence of values. But the description of index expressions and slices use "array" consistently, implying these can only apply to arrays and not lists in general. That doesn't seem desirable.
This pair of sentences suggests that lists and arrays are equivalent
A list projection is only valid for a JSON array. If the value is not a list, then the result of the expression is null.
If lists are a superset of arrays, then this leaves the behaviour of a list projection undefined if the value is a non-array list.
This sentence is also confusing if the index operator can only operate on an array, not a list:
What if you wanted the first element in that list?
If "list" and "array" are intended to be different, some explanation of the difference would be helpful. If they are intended to be the same, I suggest using the JSON term "array" as much as possible. (And this is coming from a pythonista!)
The spec mixes "list" and "array" seemingly without distinguishing them
An index expression is used to access elements in a list
Given an array of length N, an index of -1 would be equal to a positive index of N - 1, which is the last element of the list