2012-02-06 5 views
3

Я недавно начал разбирать документы JSON с помощью SBJSON Parser, и я умею хорошо читать JSON-документы. Однако я не могу понять, как я должен писать JSON, используя эту библиотеку. Согласно документацииНаписание JSON с использованием SBJSON

http://stig.github.com/json-framework/api/3.0/interfaceSBJsonStreamWriter.html

Существует класс для написания JSON, но я не могу понять, как использовать его. В его документации нет учебников о том, как их использовать, и я не могу найти в нем учебники по использованию.

В качестве примера, я пытался делать что-то вроде этого

SBJsonStreamWriter *write = [[SBJsonStreamWriter alloc]init]; 
[write writeObjectOpen]; 
[write writeString:@"Testing"]; 
[write writeObjectClose]; 

Но я не знаю, как напечатать это, и мне нужно, чтобы иметь возможность написать JSON для моего проекта, как я буду обновлять JSON, так что вам нужно понять, как писать JSON.

Как кто-нибудь пользовался этой библиотекой раньше, чтобы написать? Если бы вы могли бы, пожалуйста, покажите мне быстрый пример того, как это делается.

Заранее благодарим!

Примечание: я не могу использовать встроенный JSON Parser, выпущенный с новым xCode, поскольку мое приложение должно поддерживать телефоны от IOS 4+, а новый Parser не будет работать на телефонах, на которых не установлен IOS 5

EDIT

Пример сказать, что я хотел, чтобы создать файл в формате JSON, который состоял из массива имен например

{ "имя": [ "Elliot Jacobs", "Пол", "Мария", "Ричард", "Ана" ] }

EDIT 2:

Пример два

{ "HomeScreen": { "Название": { "Имя": "Джеймс Бонд", «Номер»: «07789 123 456» } }}

ответ

13

Я не совсем уверен, что вы имеете в виду под «писать JSON», поэтому я полагаю, что вам нужно построить строку JSON-формат. Вы уверены, что вы должны использовать создателя потока? Если нет, вот пример со строками:

SBJsonWriter *writer = [[SBJsonWriter alloc] init]; 
NSDictionary *command = [NSDictionary dictionaryWithObjectsAndKeys: 
           @"string1", @"key1", 
           @"string2", @"key2", 
           nil]; 
NSString *jsonCommand = [writer stringWithObject:command]; // this string will contain the JSON-encoded command NSDictionary 
+0

Что я имею в виду, мне нужно написать JSON и вывести его в файл. Ваш код работает отлично, но быстрый вопрос, что делать, если я хочу создать JSON-файл, используя только код. Причина, по которой я использовал JSonStreamWriter, состоит в том, что у нее есть команды, такие как writeOpenArray и writeCloseArray и т. Д., Поэтому я предположил, что это класс, который будет использоваться для создания файла JSON. Знаете ли вы, как это сделать? – AdamM

+0

См. Мое редактирование, чтобы дать вам пример того, что я имею в виду. – AdamM

+1

Ну, вы можете использовать stringWithObject со многими типами объектов ([см. Подробное описание] (http://json-framework.googlecode.com/svn/trunk/documentation/interfaceSBJsonWriter .html)), поэтому вы можете закодировать контейнер со своими строками. Для целей вашего редактирования - NSDictionary с ключом @ "name" для NSArray со строками для имен. – Alexander