There are many things wrong on your screenshots.
First, you don't need counters like animal_pos, use loopindex expression instead.
Why do you have 2 delimiters in the text file - "|" and ";"? You can remove one. Also, I believe most of the issues with sorting and displaying data are caused by invisible characters - line breaks and spaces. You need to use trim() expression. So, if you remove "|" characters, your code should look like this:
For "n" from 0 to tokencount(AJAX.LastData, ";")-1
Array set value at loopindex to trim(tokenat(AJAX.LastData, loopindex, ";"))
Finally, it would be easier to load a JSON file directly into the array. Right-click on Files, choose "Add -> Array". Then you will be able to load this file using a single "Array Set from JSON" action.