That is weird, but data-source=["hello", "world"]
works, even that it doesn't look like clean HTML.
I'm wondering if it is being treated as JSON, in which case all elements must be wrapped in double-quotes. See: How to pass an array into jQuery .data() attribute.