サーバーとの間でデータを送受信するには、iOSアプリケーションでjsonを使用する必要があります。問題は、jsonファイルがどのように表示されるかについて少し混乱していることです。サーバーに送信するjsonファイルは次のようになります。
NSString *jsonString = @"{\"eventData\":{\"eventDate\":\"Jun 13, 2012 12:00:00 AM\",\"eventLocation\":{\"latitude\":43.93838383,\"longitude\":-3.46},\"text\":\"lalalala\",\"imageData\":\"raw data\",\"imageFormat\":\"JPEG\",\"expirationTime\":1339538400000},\"type\":\"ELDIARIOMONTANES\",\"title\":\"accIDENTE\"}";
これをコンソールで印刷しようとすると、次のようになります。
jsonString: {"eventData":{"eventDate":"Jun 13, 2012 12:00:00 AM","eventLocation":{"latitude":43.93838383,"longitude":-3.46},"text":"lalalala","imageData":"raw data","imageFormat":"JPEG","expirationTime":1339538400000},"type":"ELDIARIOMONTANES","title":"accIDENTE"}
オンラインのjsonバリデーターによると、これは有効なjson形式のようです。
ただし、Webを検索した後、そしてもちろんstackoverflowを実行した後、これについて別の質問をした後、上記のNSStringを次のようなjsonファイルに変換する必要があることがわかりました。
NSString *jsonString = @"{\"eventData\":{\"eventDate\":\"Jun 13, 2012 12:00:00 AM\",\"eventLocation\":{\"latitude\":43.93838383,\"longitude\":-3.46},\"text\":\"lalalala\",\"imageData\":\"raw data\",\"imageFormat\":\"JPEG\",\"expirationTime\":1339538400000},\"type\":\"ELDIARIOMONTANES\",\"title\":\"accIDENTE\"}";
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *e;
NSMutableArray *jsonList = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&e];
しかし、jsonList変数を出力しようとすると、json形式/ファイルになると思いました。これを取得します。
jsonList: {
eventData = {
eventDate = "Jun 13, 2012 12:00:00 AM";
eventLocation = {
latitude = "43.93838383";
longitude = "-3.46";
};
expirationTime = 1339538400000;
imageData = "raw data";
imageFormat = JPEG;
text = lalalala;
};
title = accIDENTE;
type = ELDIARIOMONTANES;
}
これは有効なjsonファイルではありません!!!! だから私の質問は、もし私が最初から私のjsonファイルに正しいフォーマットを持っていたのなら、なぜこの余分なコードすべてがそれをjsonに「変換」するのですか?私はここで何かが欠けているか、コードの機能を誤解しているに違いないと思います。私の投稿を読んでくれてありがとう:)