我NSDictionaries數組轉換成JSON數據具有以下...NSArray的轉換 - > JSON - >的NSData - > PHP服務器 - > JSON表示
創建我的數據...
NSMutableArray *arrayOfDicts = [[NSMutableArray alloc] init];
for (int i = 0; i < 2; i++) {
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"MySong", @"title",
@"MyArtist", @"artist",
nil];
[arrayOfDicts addObject:dict];
}
NSArray *info = [NSArray arrayWithArray:arrayOfDicts];
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:info
options:NSJSONWritingPrettyPrinted error:&error];
然後發送這樣的...
NSURL *url = [NSURL URLWithString:@"http://www.mywebsite.com/index.php"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:jsonData forKey:@"songs"];
[request setDelegate:self];
request.tag = TAG_LOAD_SONGS;
[request startAsynchronous];
這是發送NSData的到我的服務器,但我怎麼然後用它在PHP ...它實際上只是一堆隨機數,如果我從打印我的服務器,我已經嘗試過你唱json_encode,但我不認爲這意味着原始數據...
任何幫助將是偉大的!
編輯: 這裏是php的反應......
echo $_POST['songs'];
<5b0a2020 7b0a2020 20202274 69746c65 22203a20 224d7953 6f6e6722 2c0a2020 20202261 72746973 7422203a 20224d79 41727469 7374220a 20207d2c 0a20207b 0a202020 20227469 746c6522 203a2022 4d79536f 6e67222c 0a202020 20226172 74697374 22203a20 224d7941 72746973 74220a20 207d0a5d>
這裏是NSLoging在Xcode響應...
NSLog(@"Info: %@", info);
信息:( { 藝術家= MyArtist ; title = MySong; }, { artist = MyArtist; title = MySong; } )
你在PHP端收到的字符串是什麼樣的? – deceze 2012-04-24 01:54:42
那麼,那肯定不是JSON。看起來像你發送數據的方式是一個問題,而不是PHP。 – deceze 2012-04-24 03:00:42
以及我不能弄清楚什麼是錯誤的呢?生病編輯我的問題與我如何創建我的對象... – Eric 2012-04-24 03:04:50