iPhone: Как программно создать файл json и вставить в него данные, полученные из моей базы данных Sqlite? - PullRequest
1 голос
/ 21 мая 2011

Я хочу получить данные из моей базы данных Sqlite и поместить их в этот файл JSON.

Как создать файл json и вставить данные, полученные из моей базы данных, в файл JSON?

Я хочу данные в файле JSON в следующем формате:

{

"data": [
    {
        "data": [
            null,
            null,
            30,
            45,
            69,
            70,
            65
        ],
        "title": "title5" 
    },
    {
        "data": [
            null,
            5,
            10,
            15,
            22,
            30 
        ],
        "title": "title4" 
    },
    {
        "data": [
            40,
            55,
        ],
        "title": "title3" 
    },
    {
          "data": [
              null,
            89,
            90,
            85
        ],
        "title": "title2" 
    },
    {
        "data": [
            66,
            77,
            55,
            33,
            50,
            -6,
            -8
        ],
        "title": "title1" 
    } 
],
 "x_labels": [
    6,
    7,
    8,
    9,
    10,
    11,
    12
]
}

Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 21 мая 2011

Создание объекта Obj C для чтения данных из вашей базы данных sqlite. Скажи

@interface Data:NSObject {
  NSArray *data;
  NSString *title;
}

NSArray *dataArray; // array of data filled with all Data object read from database.
  1. Используйте JSON Framework , чтобы преобразовать все данные в строку JSON. Обратите внимание, что для объекта Data необходимо переопределить метод proxyForJson, поскольку он является определяемым пользователем объектом.

Вы можете создать строку JSON из объекта,

SBJsonWriter *writer = [SBJsonWriter new];
NSString *jsonString = [writer stringWithObject:dataArray];
[writer release];

Я не уверен, работает ли он напрямую для массива, если нет, инкапсулирует ваш dataArray в anotherObject и отправляет этот объект этому JSON-писателю.

Запись строки JSON в файл.

 [jsonString writeToFile:path atomically:YES encoding:NSASCIIStringEncoding 
             error:nil]
1 голос
/ 21 мая 2011

Чтобы создать вывод json, вы можете сначала получить данные sqlite в некотором массиве, в plist, в словаре и т. Д., А затем использовать функцию JSONRepresentation, чтобы отобразить вывод JSON для того же самого, вот пример кода, который может помочь вы

-(void)create_Json
{
    NSArray *arr = [[NSArray alloc] initWithObjects:@"Ravi",@"Riki",@"Faisal",@"Sanjay", nil];

    NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
    [dict setValue:arr forKey:@"Friends"];

    NSLog(@"JSON representation for dictionary is %@",[dict JSONRepresentation]);

}

Убедитесь, что вы импортируете библиотеки JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...