0

を使用して、以下の形式の JSON 文字列をフォーマットしたいNSJSONSerialization:

{
"data":{"userName":"rrullo","password":"rrullo!"},
"meta":{"appId":"S3B9CU4R2B9JTXV9254Y","appVersion":"2.1.0","serverVersion":"1.1.0","platform":"iOS","deviceToken":"1234","tm_session_id":"BB0000001234"}
}

しかし、この形式を実現する方法はわかりません。誰か助けてください......

4

2 に答える 2

2

まず、2 つの NSDictionaries に「メタ」情報と「データ」情報を入力します。次に、それらをメインの NSDictionary に追加し、NSJsonSerialization を使用してシリアル化します

NSDictionary * metaDict = [[NSDictionary alloc] initWithObjectsAndKeys: 
@"appId", @"S3B9CU4R2B9JTXV9254Y", @"appVersion", @"2.1.0", @"serverVersion", @"1.1.0", @"platform", @"iOS",..., nil];

NSDictionary * dataDict = [[NSDictionary alloc] initWithObjectsAndKeys: 
@"userName", @"rrullo", @"password", @"rrullo!", nil];

NSDictionary * mainDict = [[NSDictionary alloc] initWithObjectsAndKeys: 
@"data", dataDict, @"meta", metaDict, nil];

これで、NSJsonSerialization を使用してその mainDict を NSString に変換できます

NSError *error; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:mainDict 
                                                   options:NSJSONWritingPrettyPrinted 
                                                     error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData  encoding:NSUTF8StringEncoding];

お役に立てれば

于 2013-10-10T17:04:18.453 に答える