1. 程式人生 > >IOS開發之——使用SBJson拼接Json字串

IOS開發之——使用SBJson拼接Json字串

SBJson包的下載地址在上一篇文章中。

可以使用NSDictionary中的鍵值對來拼接Json資料,非常方便,也可以進行巢狀,直接上程式碼:

    //開始拼接Json字串
    NSDictionary *dataDictionary= [NSDictionary dictionaryWithObjectsAndKeys:@"mac",@"mac",
                                   @"game",@"game",
                                   @"devicetoken",@"devicetoken",
                                   @"device",@"device",
                                   @"gv",@"gv",
                                   @"lang",@"lang",
                                   @"os",@"os",nil];
    NSDictionary *parmDictionary= [NSDictionary dictionaryWithObjectsAndKeys:@"getSession",@"act",
                                   dataDictionary,@"data",nil];
    NSDictionary *jsonDictionary=[NSDictionary dictionaryWithObjectsAndKeys:@"pv",@"pv",
                                  parmDictionary,@"param",nil];
    SBJsonWriter *writer = [[SBJsonWriter alloc] init];
    
    NSString *jasonString = [writer stringWithObject:jsonDictionary];
    NSLog(@"%@",jasonString);

上面的程式碼用到了三層巢狀,注意的是,NSDictionary中,前面的是值,後面的是鍵。

拼接後的結果如下:

{"pv":"pv","param":{"act":"getSession","data":{"os":"os","mac":"mac","game":"game","gv":"gv","lang":"lang","devicetoken":"devicetoken","device":"device"}}}

使用Json線上校驗工具解析後:
{
    "pv": "pv",
    "param": {
        "act": "getSession",
        "data": {
            "os": "os",
            "mac": "mac",
            "game": "game",
            "gv": "gv",
            "lang": "lang",
            "devicetoken": "devicetoken",
            "device": "device"
        }
    }
}