metadata json binding restore value and defaultValue type to String because jackon will treat object value as string by default.