json_writer_output.cpp 980 B

12345678910111213141516171819202122232425
  1. #include "json_writer_output.h"
  2. namespace NProtobufJson {
  3. NJson::TJsonWriterConfig TJsonWriterOutput::CreateJsonWriterConfig(const TProto2JsonConfig& config) {
  4. NJson::TJsonWriterConfig jsonConfig;
  5. jsonConfig.FormatOutput = config.FormatOutput;
  6. jsonConfig.SortKeys = false;
  7. jsonConfig.ValidateUtf8 = false;
  8. jsonConfig.DontEscapeStrings = false;
  9. jsonConfig.WriteNanAsString = config.WriteNanAsString;
  10. jsonConfig.DoubleNDigits = config.DoubleNDigits;
  11. jsonConfig.FloatNDigits = config.FloatNDigits;
  12. jsonConfig.FloatToStringMode = config.FloatToStringMode;
  13. for (size_t i = 0; i < config.StringTransforms.size(); ++i) {
  14. Y_ASSERT(config.StringTransforms[i]);
  15. if (config.StringTransforms[i]->GetType() == IStringTransform::EscapeTransform) {
  16. jsonConfig.DontEscapeStrings = true;
  17. break;
  18. }
  19. }
  20. return jsonConfig;
  21. }
  22. }