don't fail when caption empty
create d3 able json