私は次の状況にあります:
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"}
}
}
つまり、jsonStringでは「PaymentState」キーと「Offer」キーが最初に来るので、元の順序を維持する必要があります。これは、次のように非常に重要です。
{
"Checkout":{
"conditions":{"Checkout.user_id":6},
"order":{"Checkout.id":"DESC"}
},
"Offer":[],
"PaymentState":[]
}
だからみんな、どうすればそれができますか?