Как преобразовать данные в формат JSON, используя SBJSON iPhone SDK? - PullRequest
0 голосов
/ 12 сентября 2011

Я хочу преобразовать данные в формат JSON ... пожалуйста, помогите мне решить эту проблему. Заранее спасибо.

{
    data =     (
        {
            id = 1307983297;
            name = "Aafaaq Mehdi";
        },
        {
            id = 1350886273;
            name = "Shah Asad";
        },
        {
            id = 1636300537;
            name = "Imran Baig";
        },
        {
            id = 1640049813;
            name = "Vinod Gowda";
        }
    );
}

ОБНОВЛЕНИЕ:

NSDictionary *dict = [[NSDictionary alloc] initWithDictionary:appDelegate.friendList];
 results= (NSArray *)[dict valueForKey:@"data"];
 NSMutableArray *arr = [[NSMutableArray alloc] init];
 // loop over all the results objects and print their names
        int ndx;

        for (ndx = 0; ndx < results.count; ndx++) 
        {
            [arr addObject:(NSDictionary *)[results objectAtIndex:ndx]];
        }
        FriendListModel *obj;    
        for (int x=0; x<[arr count]; x++) 
        {
            obj = [[[FriendListModel alloc] initWithjsonResultDictionary:[arr objectAtIndex:x]] autorelease];
            [arr replaceObjectAtIndex:x withObject:obj];
NSMutableArray *facebookJSON = [[[NSMutableArray alloc] init] autorelease];

            for (obj in arr) {
NSDictionary *syedDict = [NSDictionary dictionaryWithObjectsAndKeys:obj.friendId,@"id", obj.friendName, @"name", nil];
NSString *facebookJSONFormat = [syedDict JSONRepresentation];
[facebookJSON addObject:facebookJSONFormat];
 }
NSString *myArrayString = [facebookJSON description];

        NSString *braceInArr = [NSString stringWithFormat:@"[%@]", myArrayString];
[self setFormDataRequest:[ASIFormDataRequest requestWithURL:url]];
            [formDataRequest setDelegate:self];
[formDataRequest setPostValue:braceInArr forKey:@"friend_list"];
[formDataRequest setDidFailSelector:@selector(uploadFailed:)];
        [formDataRequest setDidFinishSelector:@selector(uploadFinished:)];

        [formDataRequest startAsynchronous];

Я получил вывод в следующем формате: -

[(
    "{\"id\":\"1307983297\",\"name\":\"No Man\"}",
    "{\"id\":\"1350886273\",\"name\":\"Shah Asad\"}",
    "{\"id\":\"1636300537\",\"name\":\"Imran Baig\"}",
    "{\"id\":\"1640049813\",\"name\":\"Vinod Gowda\"}"
)]

1 Ответ

0 голосов
/ 12 сентября 2011
{
    "data":[
        {
            "id": 1307983297,
            "name": "Aafaaq Mehdi"
        },
        {
            "id": 1350886273,
            "name": "Shah Asad"
        },
        {
            "id": 1636300537,
            "name": "Imran Baig"
        },
        {
            "id": 1640049813,
            "name": "Vinod Gowda"
        }
    ]
}

Это твой папа в формате JSON ... что касается конвертации, есть ли у тебя парсер для оригинального формата?

...