probably worth an option for this
This commit is contained in:
@@ -562,7 +562,7 @@ static int json_object_double_to_json_string(struct json_object* jso,
|
|||||||
} else {
|
} else {
|
||||||
p = strchr(buf, '.');
|
p = strchr(buf, '.');
|
||||||
}
|
}
|
||||||
if (p) {
|
if (p && (flags & JSON_C_TO_STRING_NOZERO)) {
|
||||||
/* last useful digit, always keep 1 zero */
|
/* last useful digit, always keep 1 zero */
|
||||||
p++;
|
p++;
|
||||||
for (q=p ; *q ; q++) {
|
for (q=p ; *q ; q++) {
|
||||||
|
|||||||
@@ -42,6 +42,10 @@ extern "C" {
|
|||||||
* for an example of the format.
|
* for an example of the format.
|
||||||
*/
|
*/
|
||||||
#define JSON_C_TO_STRING_PRETTY (1<<1)
|
#define JSON_C_TO_STRING_PRETTY (1<<1)
|
||||||
|
/**
|
||||||
|
* A flag to drop trailing zero for float values
|
||||||
|
*/
|
||||||
|
#define JSON_C_TO_STRING_NOZERO (1<<2)
|
||||||
|
|
||||||
#undef FALSE
|
#undef FALSE
|
||||||
#define FALSE ((json_bool)0)
|
#define FALSE ((json_bool)0)
|
||||||
|
|||||||
@@ -23,8 +23,9 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
MC_SET_DEBUG(1);
|
MC_SET_DEBUG(1);
|
||||||
|
|
||||||
new_obj = json_tokener_parse("[1.2,3.4,123456.78,5.0]");
|
new_obj = json_tokener_parse("[1.2,3.4,123456.78,5.0,2.3e10]");
|
||||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj));
|
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj));
|
||||||
|
printf("new_obj.to_string()=%s\n", json_object_to_json_string_ext(new_obj,JSON_C_TO_STRING_NOZERO));
|
||||||
json_object_put(new_obj);
|
json_object_put(new_obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user