C語言是一門支持多種數據類型操作的編程語言,其中包括了JSON數組。如果要修改其中的數據,需要使用一些相應的函數來進行操作。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main(void) { char *json_string = "{ \"numbers\": [1, 2, 3] }"; json_error_t error; json_t *root = json_loads(json_string, 0, &error); if (!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } json_t *numbers = json_object_get(root, "numbers"); if (!json_is_array(numbers)) { fprintf(stderr, "error: numbers is not an array\n"); json_decref(root); return 1; } size_t index; json_t *value; json_array_foreach(numbers, index, value) { if (!json_is_integer(value)) { fprintf(stderr, "error: value %d is not an integer\n", (int)(index + 1)); json_decref(root); return 1; } json_integer_set(value, json_integer_value(value) * 2); } char *result = json_dumps(root, JSON_INDENT(4)); printf("%s\n", result); free(result); json_decref(root); return 0; }
上述代碼展示了如何使用C語言修改JSON數組中的數據。首先,使用json_loads函數將字符串轉換為JSON對象。然后,使用json_object_get函數獲取“numbers”鍵對應的值,并用json_is_array函數檢查該值是否為JSON數組。接著,使用json_array_foreach函數將數組中的每個值都遍歷一遍,并使用json_integer_set函數將其原有的值乘以2。最后,使用json_dumps函數將JSON對象轉換回JSON字符串。
上一篇vue占位符標簽
下一篇el表達式取json的值