単一のphpファイルから複数の配列をiOSアプリに返す方法があるかどうか疑問に思っていました.
私は1つの配列でそれを行うことができましたが、別の配列を追加するとnullになっているようです:(ここで同じ方法を使用して短くしますが、実際には別のテーブルから結果を取得しています)
PHP:
function getArray()
{
$query = "query here";
if ($result = $this->db->query($query))
{
$resultArray = array();
while($row = mysqli_fetch_assoc($result))
{
$resultArray[] = $row;
}
echo json_encode($resultArray);
$result->free();
}
}
getArray();
getArray();
ブラウザでphpファイルを開くと、次のように表示されます。
[{"id":"1","name":"John"},{"id":"2","name":"Susan"}]
[{"id":"1","name":"John"},{"id":"2","name":"Susan"}]
Xcode:
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *url = [NSURL URLWithString:@"urlhere"];
NSData *data = [NSData dataWithContentsOfURL:url];
NSArray *resultsArray = (NSArray *)[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
NSLog(@"%@",resultsArray);
}
ただし、resultsArray は (null) を返すようです。配列を2回ではなく1回エコーすると、うまくいくようです。両方の配列を Xcode に取り込んで、NSJSONSerialization を使用する方法はありますか? ありがとう!