Subject: Re: [PATCH v7 02/10] ss: created formatters for json and hr

From: Stephen Hemminger <[email-masked]>
Date: Wed, 23 Sep 2015 16:26:50 -0700

Having JSON output is going to be a real plus for programatic parsing.
My understanding of best practice with JSON is that it is best to output values
in best machine readable form, the format is not really meant for humans to
directly read.

Therefore I don't like the code that reformats numbers as hex.
If the values are better displayed in hex, then it is up to the program
parsing and presenting that to the user to do that. The JSON should
just put out numeric values as numeric.

> +/* hex conversion helper */
> +static void jsonw_hex_as_str_outp(json_writer_t *self, uint64_t num)
> +{
> +	char tmp[17];
> +
> +	sprintf(tmp, "%"PRIx64, num);
> +	jsonw_string(self, tmp);
> +}
> +
> +static void jsonw_hex_field_outp(json_writer_t *self, const char *prop, uint64_t num)
> +{
> +	jsonw_name(self, prop);
> +	jsonw_hex_as_str_outp(self, num);
> +}
> +

Other than that, my only other discomfort is that this patch set
makes the code grow so much larger and it becomes more complex for future
developers.

Maybe it is time to rewrite it in a better language ;-)