我有以下情况:
NSDictionary *params = @{
@"Checkout" : @{
@"conditions" : @{@"Checkout.user_id" : @1},
@"order" : @{@"Checkout.id" : @"DESC"}
},
@"PaymentState" : @[],
@"Offer" : @[]
};
此字典包含用于传递带有 Web 服务 URL 的 JSON 字符串的 Web 服务请求的参数。我使用 NSJSONSerialization 类获取 JSON 字符串,如下所示:
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:params options:0 error:nil];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
问题是: jsonString "keys" 的顺序与原始 params 字典键顺序不同,如下所示:
{
"Offer":[],
"PaymentState":[],
"Checkout":{
"conditions":{"Checkout.user_id":6},
"order":{"Checkout.id":"DESC"}
}
}
也就是说,“PaymentState”和“Offer”键首先出现在 jsonString 中,我需要保持原始顺序。这很重要,像这样:
{
"Checkout":{
"conditions":{"Checkout.user_id":6},
"order":{"Checkout.id":"DESC"}
},
"Offer":[],
"PaymentState":[]
}
所以伙计们,我该怎么做?