Целочисленные переменные, которые не хранятся в плоских буферах, используя python - PullRequest
0 голосов
/ 13 февраля 2020

Я вижу странную проблему с использованием плоских буферов на python. Я пытаюсь сохранить значение переменной, которое является целым числом, однако, когда я генерирую JSON из полученного файла .bin, значение ключа / целого не будет там. Тем не менее, если я просто передать целое число, это работает нормально?

Нужно ли выполнять какое-либо приведение или генерировать целочисленный тип таким же образом, как я делаю для строк?

Вот пример кода, который я выполняю:

    varInt = 1

    SomeClass.SomeClassStart(my_builder)
    SomeClass.SomeClassAddMyValue(my_builder, varInt)
    SomeClass.SomeClassAddMyOtherValue(my_builder, 2)
    some_class_buffer = SomeClass.SomeClassEnd(my_builder)

, который производит json из:

   some_class:{
       my_other_value: 2
   }

Я не понимаю, почему так будет работать, а один не будет? У меня нет большого опыта работы с python, и плоские буферы совершенно новые для меня, поэтому не уверен, есть ли какой-то нюанс, о котором я не знаю?

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 13 февраля 2020

Я нашел проблему с этим. Оказывается, мне пришлось установить для построителя значение true для переменной forceDefaults.

my_builder.forceDefaults = True
...