Доступ к вложенной структуре в файле json
Я использую заморожены.ч для файлов json .. Я хочу прочитать информацию о массиве книг из .JSON-файл в массив структур
***********проблема 1**********
.. struct book имеет вложенную дату структуры, к которой я хочу получить доступ в файле .json .. но библиотека не позволит мне ... если вы знаете решение моей проблемы с замороженными.h или вы бы порекомендовали другую библиотеку для файлов json в C, которая поддерживает следующую функцию:
* чтение/запись из/в json-файл и массив структур, имеющих вложенные структуры
*сканирует строку непосредственно в переменные языка Си
* выводит переменные C непосредственно в выходной поток
* изменяет существующую строку JSON
*********Задача 2**********
при хранении названия книги в массиве[0].например, название сохраненной строки-это только автоматизация, а не Автоматизация и робототехника
Что я уже пробовал:
#include <stdio.h> #include "frozen.h" #include <stdlib.h> #include <string.h> typedef struct { int day; int month; int year; } dateStruct; typedef struct { char title[10]; char author[10]; char publisher[10]; char ISBN[10]; dateStruct date; int copies; int current; int times_borrowed; } book; int main() { book array[3]; char *content = json_fread("tmp.json"); //tmp.json exists near main.c //and written in json format int i, value, len = strlen(content); struct json_token t; for (i = 0; json_scanf_array_elem(content, len, ".book", i, &t) > 0; i++) { json_scanf(t.ptr, t.len, "{title: %s}", &(ar[i].title)); printf("%s\n\n",array[i].title); } return 0; }
==========файл json ============
Цитата:{
"книга": [
{
"название": "автоматизация и робототехника",
"автор": "Милтиадис Бобулос",
"издательство": "Academic Studies Press",
"Книги": "978-87-7681-696-4",
"дата" : [
{
"день":14
"месяц":12
"год выпуска": 2017
} ],
"копии":5
"ток":3
},
{
"название": "инженерное дело",
"автор": "Абимбола Виндапо",
"издатель": "Allen &Unwin",
"Книги": "978-87-403-0362-9",
"дата" : [
{
"день":14
"месяц":12
"год выпуска": 2017
} ],
"копии":7
"ток":6
}
]
}
Richard MacCutchan
замороженный.h-это заголовочный файл C/C++. Какую реальную библиотеку вы пытаетесь использовать и что говорится в документации?