2013-11-27 6 views
-1

Я пытаюсь создать JSON, который будет выглядеть какKeyless NSDictionary от NSArray

[ 
    { 
     property1 = "test1", 
     property2 = "test2", 
    }, 
    { 
     property1 = "test1", 
     property2 = "test2", 
    }, 
    ... 
] 

До сих пор все, что я могу получить с помощью NSDictionary это:

[ 
    key1 = { 
     property1 = "test1", 
     property2 = "test2", 
    }, 
    key 2 = { 
     property1 = "test1", 
     property2 = "test2", 
    }, 
    ... 
] 

... который не является хорошим , Есть ли простой способ создания без ключа в NSDictionary?

+3

Используйте 'NSArray'? –

+0

Какой тип? Какой кодировщик JSON вы используете? Можете ли вы показать нам код десериализации + тип NSLog того, что вы получаете из JSON –

+0

показать мне свой код для создания этого JSON – manujmv

ответ

2

Try:

NSArray *objects = @[ 
    @{ @"property1": @"test1", @"property2": @"test2" }, 
    @{ @"property1": @"test1", @"property2": @"test2" } 
]; 

NSError *error = nil; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:objects options:0 error:&error]; 

Похоже, вы использовали NSDictionary в качестве корневого объекта, вместо NSArray.

+0

Это трюк. Я только расшифровал NSData для NSSrting. –

2

Ваш JSON недействителен. Либо это должен быть массив JSON как это:

[ 
    { 
     property1 : "test1", 
     property2 : "test2", 
    }, 
    { 
     property1 : "test1", 
     property2 : "test2", 
    }, 
    ... 
] 

или объект JSON с другими объектами внедренных, хотя в этом случае, вам нужно будет указать имена свойств:

{ 
    obj1 : { 
     property1 : "test1", 
     property2 : "test2", 
    }, 
    obj2 : { 
     property1 : "test1", 
     property2 : "test2", 
    }, 
    ... 
} 

Первый а карты - NSDictionary с буксировочными клавишами (obj1, obj2), каждое сопоставление с NSDictionary с двумя ключами каждый (свойство1, свойство2).

Судя по правок на Ваш вопрос, вам нужно сериализовать этот объект, чтобы получить желаемую структуру:

NSArray * dataForJSON = @[ 
    @{ 
     @"property1" : @"test1", 
     @"property2" : @"test2" 
    },   
    @{ 
     @"property1" : @"test1", 
     @"property2" : @"test2" 
    } 
]; 
Смежные вопросы