Metadata json support

This change loses the `preserve_configuration` invocation, and causes any exceptions to bubble up past here instead of being caught and the failure message printed.