0

こんにちは私はこの文字列を持っています{"data":[{"name": "Lorena Trujillo"、 "id": "500144123"}、{"name": "George Arcila"、 "id": "520311359"}、{ "name": "Laura Victoria Mu \ u00f1oz Rincon"、 "id": "528543677"}、{"name": "Camilo Andres Santacoloma Mejia"、 "id": "529547832"}]、 "paging":{"次へ":" https://graph.facebook.com/537223119/friends?access_token=AAAAAAITEghMBAI7cZBdbAHt3ZC24esi4ZA6O6kFdwU1H0ekDmGQGRZCUZAVW3T6W6fzg50jHsdfsdfsfdsfdsfzdixf1Rt

}

そしてyは[と]の間の部分文字列を抽出する必要があります私は次のコードを使用します

NSRange startRange = [strFriends rangeOfString:@"["];
NSRange endRange = [strFriends rangeOfString:@"]"];
NSString *formData = [strFriends  substringWithRange:NSMakeRange(startRange.location,endRange.location)];
NSLog(@"this is the data %@",formData); 

結果は

[{"name": "Lorena Trujillo"、 "id": "500144123"}、{"name": "George Arcila"、 "id": "520311359"}、{"name": "Laura Victoria Mu \ u00f1oz Rincon "、" id ":" 528543677 "}、{" name ":" Camilo Andres Santacoloma Mejia "、" id ":" 529547832 "}]、" pagin

これらの最後の文字が表示される理由については、「paginありがとうございます

4

2 に答える 2

2

これは、startRange場所とendRange場所の両方が文字列内の場所を指しているからですが、subStringWithRange は場所と長さを取るため、抽出する文字列の長さを計算する必要があります。このような:

NSUInteger dataLength = endrange.location - startRange.location;
NSString *formData = [strFriends  substringWithRange:NSMakeRange(startRange.location,dataLength)];

それに加えて、JSON を解析するための JSON パーサーが本当に必要です。このような小さな部分文字列を選択することは、大変な作業であり、もろくなります。

于 2012-08-30T19:12:08.930 に答える
2

コメントで driis が述べたように、JSON パーサーを使用してこのデータを処理する必要があります。あなたの質問に答えるには、範囲には2つの場所ではなく場所と長さがあるため、「pagin」が表示されます。試す

NSMakeRange(startRange.location,endRange.location - startRange.location)
于 2012-08-30T19:12:16.490 に答える