次のようなJSON文字列があります。
{
"1": {
"name": "Jerry",
"age": "12"
},
"2": {
"name": "Bob",
"age": "16"
"3": {.....
}
2つのレコードのみを表示しましたが、このJSONには100のレコードが含まれます。この1、2、3などに注文があり、レコードの注文番号です。
これらのレコードを注文しています(1番目のレコードを表示し、次に2番目と3番目などを表示する場合など)。私のコードを以下に示します。
ここに問題があります。10を超えるレコードがあると、昇順でレコードが表示されません。最初に1を表示し、次に11,12,13 ...から19までを表示します。次に、2を表示し、次に21,22,23....から29までを表示します。
私のコードは次のとおりですが、問題を解決するためにどのように変更できますか?
考えられる解決策:10未満の数値から先行0を追加できれば、正しくフィルターで除外されるはずです。しかし、私はこれが正しいアプローチではないことを知っています。
NSDictionary *dic = content;
self.mutArr = [[NSMutableArray alloc] init];
NSArray *array = [dic allKeys];
NSArray * sortedArray = [array sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
for (NSString *str in sortedArray)
{
NSDictionary *dic2 = [dic objectForKey:str];
Person *person = [[Person alloc] init];
person.nameOfRestaurant=[dic2 objectForKey:@"name"];
person.personStartDate=[dic2 objectForKey:@"age"];
[self.mutArr addObject:person];
}
self.personEntries = [NSArray arrayWithArray:self.mutArr];