src/cx/json.h

changeset 1077
911a154dd469
parent 1072
c89283cd559b
child 1079
4e1872151fb6
equal deleted inserted replaced
1076:bb4da3255de3 1077:911a154dd469
433 433
434 /** 434 /**
435 * The JSON writer settings. 435 * The JSON writer settings.
436 */ 436 */
437 struct cx_json_writer_s { 437 struct cx_json_writer_s {
438 /**
439 * Set true to enable pretty output.
440 */
438 bool pretty; 441 bool pretty;
442 /**
443 * Set false to output the members in the order in which they were added.
444 */
439 bool sort_members; 445 bool sort_members;
446 /**
447 * The maximum number of fractional digits in a number value.
448 */
440 uint8_t frac_max_digits; 449 uint8_t frac_max_digits;
450 /**
451 * Set true to use spaces instead of tab characters.
452 * Indentation is only used in pretty output.
453 */
441 bool indent_space; 454 bool indent_space;
455 /**
456 * If \c indent_space is true, this is the number of spaces per tab.
457 * Indentation is only used in pretty output.
458 */
442 uint8_t indent; 459 uint8_t indent;
460 /**
461 * Set true to enable automatic wrapping of arrays.
462 * Wrapping is only used in pretty output.
463 * Objects within arrays are always wrapped.
464 */
443 bool wrap_array; 465 bool wrap_array;
466 /**
467 * Specify the maximum number of characters in a line before an array needs to wrap.
468 */
444 uint16_t wrap_threshold; 469 uint16_t wrap_threshold;
445 }; 470 };
446 471
447 /** 472 /**
448 * Typedef for the json writer. 473 * Typedef for the json writer.
449 */ 474 */
450 typedef struct cx_json_writer_s CxJsonWriter; 475 typedef struct cx_json_writer_s CxJsonWriter;
451 476
477 /**
478 * Creates a default writer configuration for compact output.
479 *
480 * @return new JSON writer settings
481 */
482 cx_attr_nodiscard
483 CxJsonWriter cxJsonWriterCompact(void);
484
485 /**
486 * Creates a default writer configuration for pretty output.
487 *
488 * @param use_spaces false if you want tabs, true if you want four spaces instead
489 * @return new JSON writer settings
490 */
491 cx_attr_nodiscard
492 CxJsonWriter cxJsonWriterPretty(bool use_spaces);
452 493
453 /** 494 /**
454 * Writes a JSON value to a buffer or stream. 495 * Writes a JSON value to a buffer or stream.
455 * 496 *
456 * This function blocks until all data is written or an error when trying 497 * This function blocks until all data is written or an error when trying

mercurial