JSON字典中的无效(非字符串)键

sin*_*pec 3 json objective-c nsdictionary xcode4.5

最后一行总是抛出一个异常:"JSON字典中的无效密钥".我无法弄清楚为什么.我可以打印"msg"字典.

NSDictionary* header = @{
@(udpVersion) : @"ver",
@(self.dataType) : @"type",
@(self.ack) : @"ack",
[WBUserMng sharedClient].getUserId : @"src",
};

NSDictionary* msg = @{
header:@"head",
self.payload:@"data",
};

NSError* error = nil;
return [NSJSONSerialization dataWithJSONObject:msg options:kNilOptions error:&error]
Run Code Online (Sandbox Code Playgroud)

Mar*_*n R 8

我认为你在字典文字的新Objective C语法中有关键的错误顺序.它可能应该是

NSDictionary* msg = @{
    @"head" : header,
    @"data" : self.payload
};
Run Code Online (Sandbox Code Playgroud)

header字典一样.