Разбор потока cbor - PullRequest
       61

Разбор потока cbor

1 голос
/ 17 марта 2020

Я пытаюсь проанализировать поток CBOR, используя tinyCBOR. Цель состоит в том, чтобы написать обобщенный c код синтаксического анализа для " типа карты " (потому что я не знаю, сколько ключей и какие они есть в потоке cbor), но не для json Я просто хочу получить значения, используя " ключ ", но для получения значений из ключа я должен знать ключ. Я просто могу разобрать значение, передав « key » в функцию

cbor_value_map_find_value(&main_value,"Age",&map_value);

, но мне все еще неясно, что нужно.

Какая последовательность для получить ключ и значения из потока CBOR?

Например. ниже приведены мои данные в формате карты -

{"Roll_number": 7, "Age": 24, "Name": "USER"}

вот этот двоичный формат по ссылке cbor.me -

   A3                        # map(3)
   6B                        # text(11)
   526F6C6C5F6E756D626572    # "Roll_number"
   07                        # unsigned(7)
   63                        # text(3)
   416765                    # "Age"
   18 18                     # unsigned(24)
   64                        # text(4)
   4E616D65                  # "Name"
   64                        # text(4)
   55534552                  # "USER"

1.Как получить ключ из потока. как - Roll_number или AGE из потока? (последовательно получая ключ и значения также отлично).

2.После получения значения Roll_number, как я могу перейти к следующему элементу (" Age ") получение " key " и " value ".

3. Как определить, что я достиг " end of stream " и теперь нет данных ??

Любой фрагмент кода, что, как анализировать и какой последовательности функции должны следовать.

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

...