From f4d366e1882cfbae7ccda2e7a601b9fa5da09bdb Mon Sep 17 00:00:00 2001 From: voevodskiy Date: Wed, 16 Apr 2025 10:55:30 +0300 Subject: Fix bug in proto2json map empty keys serialization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `` неправильно сериализует пустой ключ protobuf'ной map'ы ``` message TMyMessage { map Fields = 1; } ``` При таком протобуфе ``` Fields { key: "" value: "1" } ``` Сейчас получается json ``` { "value": "1" } ``` Хотя должен получаться такой ``` { "": 1 } ``` commit_hash:e678bffbda1a062fa0fcaaba65c2e5f6bf13d558 --- library/cpp/protobuf/json/proto2json_printer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/cpp/protobuf/json/proto2json_printer.cpp b/library/cpp/protobuf/json/proto2json_printer.cpp index a9f8c3fce99..706b3b8c628 100644 --- a/library/cpp/protobuf/json/proto2json_printer.cpp +++ b/library/cpp/protobuf/json/proto2json_printer.cpp @@ -253,7 +253,7 @@ namespace NProtobufJson { bool inProtoMap) { Y_ABORT_UNLESS(!field.is_repeated(), "field is repeated."); - if (!key) { + if (!key && !inProtoMap) { key = MakeKey(field); } -- cgit v1.3