Как построить массив JSON с Parson?

Cristian M спросил: 28 марта 2018 в 02:23 в: c

Я использую библиотеку Parson для отправки данных датчиков с MCU на сервер. Я хочу создать следующий JSON, но Я не могу понять, как создавать массивы ("датчики" и "измерения").

{
  "systemInfo:": {
  "hubId": "1234",
  "battery:": {
      "value": 3.3,
      "unit": "V"
   }
 },
 "sensors": [
 {
   "name": "S1",
   "measurements:": [
    {
      "measuredValue": "val",
      "value": 123,
      "unit": "unit"
    }
  ]
 },
 {
   "name": "S2",
   "measurements": [
    {
      "measuredValue": "val1",
      "value": 123,
      "unit": "unit1"
    },
    {
      "measuredValue": "val2",
      "value": 123,
      "unit": "unit2"
    }
  ]
 },
 {
   "name": "s3",
   "measurements": [
    {
      "measuredValue": "val",
      "value": 120,
      "unit": "unit"
    }
   ]
  }
 ]
}

На странице GitHub (serialization_example) есть пример, который генерирует массив, анализируя строку:

json_object_dotset_value(root_object, "contact.emails",
                         json_parse_string("[\"email@example.com\", \"email2@example.com\"]"));

, но я хотел бы сгенерировать ее с помощью функций API, а не вручную построив строку, как в приведенном выше примере. Например, используя

json_object_set_string()
json_object_dotset_string()
json_object_dotset_number() etc.

Возможно ли это? Или API не предлагает эту функциональность?

1 ответ

Есть решение
Cristian M ответил: 28 марта 2018 в 04:20

Я не нашел решения своей проблемы, но вместо этого нашел другую библиотеку, cJSON, которая может делать то, что мне нужно.