AFHTTPClient
でjsonを投稿する方法の例をお探しください。私はNSDictionary
を取るpostPathメソッドがあり、AFJSONEncodeメソッドはNSData
を返すことがわかります。オブジェクトをNSDictionary
にシリアル化する簡単な方法はありますか?それとも、jsonkitを使う方が簡単ですか?には、AFNetworkingでjsonを投稿するAFHTTPClientの例がありますか?
オブジェクトをjsonとしてREST APIに送信するだけで済みます。
更新日:私は辞書を渡してみましたが、ネストされた配列のシリアライズを破るようです。例えば
、私はオブジェクトがある場合:
{
caption = "A test caption";
date = "2011-12-13 17:58:37 +0000";
geo = (
"37.78583",
"-122.4064"
);
likes = 1;
place = "New York City";
}
シリアライズはあからさまに失敗するか、またはジオとしてシリアライズされません。辞書は、以下のようなデータを持ってもらうだ
Post* p = [[Post alloc] init];
p.uname = @"mike";
p.likes =[NSNumber numberWithInt:1];
p.geo = [[NSArray alloc] initWithObjects:[NSNumber numberWithFloat:37.78583], [NSNumber numberWithFloat:-122.406417], nil ];
p.place = @"New York City";
p.caption = @"A test caption";
p.date = [NSDate date];
を配列ではなく文字列リテラルのように("37.78583", "-122.4064");
ちょっとマット、私は早くそれを試みていて、ネストされたnsarrayに問題がありました。 2つのNSNumbersのNSArrayである私の地理プロパティを取るまで、それは正常に動作するようです。それはエスケープ文字で引用された文字列として渡されるので、 "(\ n 43.1、\ n -70.0)"として送信されます。 – MonkeyBonkey
jsonのシリアル化を設定しなかった場合、シリアライズNSDateをシリアライズする際にエラーが発生します。日付フォーマッタに渡すことはできますか?それをAFNetworkingに渡す前に辞書で文字列にフォーマットする必要がありますか? – MonkeyBonkey
は、NSDatesをJSONDataWithOptionsメソッドに処理するためのブロックを渡すことで、jsonkitとシリアル化を行いました。これをafnetworkingリクエストに戻すにはどうすればよいでしょうか? – MonkeyBonkey