/summon not working for json text

I tried the command:

/summon Armor_Stand ~ ~1 ~ {CustomName:{"text":"hi","color":"aqua"}}

But all the time it showed me "Armor Stand" as the nametag. So is there any way I can fix this error and get a coloured nametag? I'm using Minecraft 1.10.2.


/summon armorstand ~ ~1 ~ {customname:{"text":"hi","color":"aqua}}

Unless you're using the latest snapshot (in which case it's armor_stand), the name of an armor stand is ArmorStand, case sensitive. NBTags are also case sensitive: it's CustomName rather than customname.

You'll need to add a CustomNameVisible:1b tag to have the name show up. You'd also need to end the quotation mark at the end of "aqua, and escape the whole JSON part, which would end up with a command like this:

/summon ArmorStand ~ ~1 ~ {CustomName:"{\"text\":\"hi\",\"color\":\"aqua\"}",CustomNameVisible:1}

2019 edit: As of 1.13, CustomNames do now support JSON and the above command will work (changing ID to armor_stand). The information below should be ignored unless you're still on older versions.

However, the main problem is that CustomName's don't yet support JSON.

If you use a third party tool (such as NBTExplorer or MCEdit) you could put the section sign (§) followed by a formatting code before the name to achieve the colour/effect you want. The command (which you cannot input directly into Minecraft) would look like:

/summon ArmorStand ~ ~1 ~ {CustomName:"§bhi",CustomNameVisible:1}