C語言是一門常用的編程語言,它可以通過使用JSON庫來把JSON字符串轉換成對象數組。下面我們就來看一下具體的實現過程。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(void) { const char *json_string = "{\"employees\":[{\"firstName\":\"John\", \"lastName\":\"Doe\"},{\"firstName\":\"Anna\", \"lastName\":\"Smith\"},{\"firstName\":\"Peter\", \"lastName\":\"Jones\"}]}"; //JSON字符串 json_t *root; json_error_t error; root = json_loads(json_string, 0, &error); //加載JSON字符串 if (!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } int index; json_t *element; json_t *array = json_object_get(root, "employees"); //獲取數組 json_array_foreach(array, index, element) { //遍歷數組 const char *firstName = json_string_value(json_object_get(element, "firstName")); //獲取firstName的值 const char *lastName = json_string_value(json_object_get(element, "lastName")); //獲取lastName的值 printf("Employee %d: %s %s\n", index+1, firstName, lastName); } json_decref(root); //釋放JSON對象內存 return 0; }
以上是一個簡單的C語言程序,用來把JSON字符串轉換成對象數組。首先要加載JSON字符串,然后獲取要處理的數組,接著遍歷數組中的元素,分別獲取每個元素的屬性值,最后釋放JSON對象內存。