Error sending array data from php to javascript

Your PHP code shows:

$organizations = get_user_meta($current_user_id, 'organizations');

The signature for this function is:
get_user_meta( int $user_id, string $key = ”, bool $single = false )

Note the last argument. When you used this function, you omitted the last argument; therefore, the default was used. The default is false meaning that the value will be returned as a PHP array. This is because it is actually possible to store several meta values with the same key; when doing so, each value acts like an element in an array. If you are not storing values in this way, you should be using true in the last argument so that get_user_meta does not return a PHP array.

To repeat, when the $single argument is true it means that get_user_meta returns a single value and not a PHP array. When $single is false, it means that your JSON string (the whole thing) is returned as the first element of a PHP array. In this case, to return organizations back to the client, you need to do this:

echo $organizations[0];

On the other hand…
It might be a good idea to consider using the “application/json” MIME type when returning JSON content to the browser. You can tell the client that you are returning a JSON string. By doing so, you don’t have to use JSON.parse() on the client side. The content received client-side will already be a JSON object.

Assuming the string from the database is already in valid JSON format, you could try using:

$organizations = get_user_meta($current_user_id, 'organizations', true); // true means return a single string, not a PHP array
header('Content-Type: application/json');
echo $organizations;

then, the client-side JavaScript can use:

var organizations = response;