シリアル化メソッドを使用してPHPで文字列をシリアル化しました
$serializedResult = serialize($value);
このシリアル化された文字列をObjective-Cで非シリアル化する方法
シリアル化メソッドを使用してPHPで文字列をシリアル化しました
$serializedResult = serialize($value);
このシリアル化された文字列をObjective-Cで非シリアル化する方法
ObjectiveC用のシリアル化されたPHPオブジェクトパーサーはないと思います。
ただし、代わりにJSONを使用できます。PHP側ではjson_encode
、を使用し、Objective C側では、http://blog.zachwaugh.com/post/309924609/how-to-use-json-in-cocoaobjective-cを参照してください。
または、Tommyが現在ネイティブな実装を指摘しているように:http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html
同じ問題が私にも起こります。解決策として、私はこの仕事をするためにパーサーを書きました。シリアル化と逆シリアル化の両方の機能があります。このリンクから入手できます。
これは、シリアル化のテスト例です。RTSerializer* serializer = [[RTSerializer alloc] init];
NSMutableDictionary *pack=[NSMutableDictionary dictionary];
[pack setValue:@"id" forKey:@"3"];
[pack setValue:@"tariffid" forKey:@"152"];
[pack setValue:@"rgid" forKey:@"1"];
[pack setValue:@"name" forKey:@"Test"];
NSString *_data=@"";
_data=[serializer pack inString:_data];
脱リアル化の例、
id object=[serializer deserialize:@"a:1:{i:0;a:4:{s:2:\"id\";s:1:\"3\";s:8:\"tariffid\";s:3:\"152\";s:4:\"rgid\";s:1:\"1\";s:4:\"name\";s:4:\"Test\";}}"];
これが可能だとは思わないでください。PHPの手動によると、シリアル化メソッドはPHPスクリプト内でのみ使用されることになっています。
JSONなどのいくつかのオープンフォーマットを使用する必要があります。または、両方の言語で独自の「シリアル化」実装を作成できます。