0

嗨,我正在使用 SBJson 将 Json 数据移入和移出 NSMutableDictionar,我像这样从其他几个 NSMutableDictionary 构建主要的 NSMutableDictionary

- (NSMutableDictionary *) getGeneral{
    NSMutableDictionary *pType = [[NSMutableDictionary alloc]init];
    [pType setObject:[NSNumber numberWithInteger:3] forKey:@"Ptype"];

    NSMutableDictionary *session = [[NSMutableDictionary alloc]init];
    [session setObject:[NSNumber numberWithInteger:-1] forKey:@"user_id"];
    [session setObject:@"3" forKey:@"device_token"];
    [session setObject:[NSNumber numberWithInteger:-1] forKey:@"customer_id"];
    [session setObject:@"3" forKey:@"client_time"];

    NSMutableDictionary *Error = [[NSMutableDictionary alloc]init];
    [Error setObject:[NSNumber numberWithInteger:-1] forKey:@"error_code"];
    [Error setObject:@"3" forKey:@"error_message"];

    NSMutableDictionary *Successful = [[NSMutableDictionary alloc]init];
    [Successful setObject:[NSNumber numberWithInteger:-1] forKey:@"success_code"];
    [Successful setObject:@"3" forKey:@"success_message"];

    NSMutableDictionary *Details = [[NSMutableDictionary alloc]init];
    [Details setObject:@"3" forKey:@"user_name" ];
    [Details setObject:@"3" forKey:@"user_password" ];
    [Details setObject:[NSNumber numberWithInteger:-1] forKey:@"StartCallID"];
    [Details setObject:@"3" forKey:@"StartDate" ];
    [Details setObject:@"3" forKey:@"EndDate"];

    NSMutableDictionary *General = [[NSMutableDictionary alloc]init];  
    [General setObject:pType forKey:@"Ptype"];
    [General setObject:session forKey:@"Session"];
    [General setObject:Error forKey:@"Error"];
    [General setObject:Successful forKey:@"Successful"];
    [General setObject:Details forKey:@"Details"];
    return General;
}

然后我将数据分配给它,我希望得到这个 Json 结构:

{
"Ptype":[{"Ptype":-1}],
"Session":[{
"user_id":-1, 
   "device_token":" ", 
"customer_id":-1,  
 "client_time":"",    
}],
"Error":[{"error_code":-1,
"error_message":""}],
"Successful":[{"success_code":-1,
"success_message":""}],
"Details":[{
"user_name":" ",    
"user_password":" ",  
"StartCallID":-1,   
 "StartDate":" ",  
  "EndDate":" "      
}]}

但是我的json中没有“]”或“[”看起来像这样,顺序也发生了变化,但这不是问题,我在服务器上处理它,问题是没有方括号

    {"Session":
{"customer_id":-1,
"client_time":"3",
"user_id":-1,
"device_token":"3"},
"Error":{"error_code":-1,"error_message":"3"},
"Successful":{"success_code":-1,"success_message":"3"},
"Details":{"StartCallID":-1,
"user_password":"gg",
"user_name":"ff",
"StartDate":"3",
"EndDate":"3"},
"Ptype":{"Ptype":3}}

任何人都知道这个问题,我需要多个具有相同名称的项目,这是它的 json 标准

谢谢

4

1 回答 1

1

方括号包围一个数组,你只有字典。每个字典中的键都是唯一的。

例如,将 customer_id 放入数组中的字典中:


    NSArray *myArray = [NSArray arrayWithObjects:
                        [NSDictionary dictionaryWithObjectsAndKeys:
                         @"-1",
                         @"customer_id",
                         nil] nil];

兴趣链接了解 JSON 3 分钟课程

于 2012-02-14T17:29:45.230 回答