Maybe you should give us an working example. With this few code lines we cannot help. Of course it is not a problem to return an object from a promise.
It looks like the resolve function is expecting an array as its input, but in the second example, it is being passed an object. If the resolve function is only able to handle arrays, then the second example will not work as expected. Converting the object to a string using JSON.stringify allows it to be passed to the resolve function, but the function may not be able to handle it properly. It is possible that the resolve function should be updated to handle both arrays and objects, or that the code should be changed to pass only arrays to the function.