0

さて、新しいスキル、プログラミング Objective-C を学ぶ時が来たと判断しました。私のプログラミング知識はごくわずかで、PHP、HTML と MySQL が少し含まれています。私がやりたいことは、php で作成された JSON を取得し、iOS テーブル ビューに入力することです。

ここに私のjson.phpがあります:

<?php
$array = array(1,2,3,4,5,6,7,8,9,10);
$json = json_encode($array);
echo $json;
?>

私の唯一の問題は、JSONKit フレームワークの使用方法をどこから始めればよいかわからないことです。https://github.com/johnezang/JSONKit/ より多くのサポートがあるように見えるという理由だけで、JSONKit を他の代替手段よりも使用したいと思います。

NSString *strURL = [NSString stringWithFormat:@"http://api.tekop.net/json.php"];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
NSLog(@"%@", strResult);

JSON ページの結果をデバッグ コンソールに出力できました。さて、私の唯一の質問は、次は何ですか?オンラインでいくつかのチュートリアルを探してみましたが、見つけることができたのは、より高度なジェイソン フレーズ集だけでした。私の基本的なニーズに対応するために。私の質問は非常に漠然としていて、さまざまな回答が可能であることは承知していますが、ここはこの種の質問をする場所だと思いました。

4

2 に答える 2

1

iOSには、NSJSONSerializationと呼ばれる独自のJSON解析があります。

http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html

あなたは一見することができます。私はいつもこのように使っています。

[NSJSONSerialization JSONObjectWithData:tmpData
                                       options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments 
                                         error:nil]

コードを変更してサンプルを作成します。

NSString *strURL = [NSString stringWithFormat:@"http://api.tekop.net/json.php"];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSArray *arrayResult = [NSJSONSerialization JSONObjectWithData:dataURL
                                       options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments 
                                         error:nil];

NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

jsonが配列ベースの場合は、NSArrayを使用して結果を保存することに注意してください。jsonがハッシュベースの場合は、NSDictionaryを使用してください。(はっきり言ってほしいのですが、関連する用語がわかりません)

于 2012-07-31T04:53:45.097 に答える
0

何を試しましたか?

NSArray *array = [dataURL objectFromJSONData];
NSAssert([array isKindOfClass:[NSArray class]], @"This should be an array.");

for (NSNumber *value in array) {
    NSAssert([value isKindOfClass:[NSNumber class]], @"This should be a number.");

    NSLog(@"%@", value);
}
于 2012-07-31T04:00:35.573 に答える