Я пытаюсь проанализировать поток 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 " и теперь нет данных ??
Любой фрагмент кода, что, как анализировать и какой последовательности функции должны следовать.
Любая помощь приветствуется. Спасибо !!!