Как создать собственный JSON, который можно проанализировать на прото - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь создать JSON, чтобы я мог преобразовать его в прото, используя метод json_format.Parse. Это данный прото, который я пытаюсь заполнить:

message Struct {
  map<string, Value> fields = 1;
}

message Value {
  oneof kind {
    string string_value = 3[(max_string_length_option).max_string_length = 1024];
    bool bool_value = 4;
    int64 int64_value = 7;
  }
}

JSON, который я построил до сих пор:

{ 
   "fields":{ 
      "company":"test_json_to_proto",
      "user":1,
      "vacation":true
   }
}

В моем скрипте Python у меня есть следующий код:

my_struct = my_proto.Struct()
parsed_pb = json_format.Parse(json.dumps(my_json), my_struct, ignore_unknown_fields=False)

Я получаю следующую ошибку:

Exception when parsing JSON to Proto Failed to parse fields field: Message type "Value" has no field named "t".
Available Fields(except extensions): ['nullValue', 'doubleValue', 'stringValue', 'boolValue', 'structValue', 'listValue', 'int64Value'].
...