3

私はAndroidで簡単にやりましたが、iOでそれを行う方法をほとんど失いませんでした。私のjsonは次のようなものです:

[{"name":"qwe","whatever1":"asd","whatever2":"zxc"}, 
{"name":"fgh","whatever1":"asd","whatever2":"zxc"}]

私が行った場合:

NSData *jsonData = [data dataUsingEncoding:NSUTF32BigEndianStringEncoding];

rows  = [NSJSONSerialization JSONObjectWithData: jsonData options: NSJSONReadingMutableContainers error: &error];

行でアクセスできますか?

NSString *name = [[rows objectAtIndex:0] [objectForKey:@s"name"]];

または、どのようにそれを行うのですか?ありがとう。

最終的に動作し NSString *name = [[rows objectAtIndex:0] objectForKey:@"name"]];ます!:D

4

3 に答える 3

3

私はそれがうまくいくと思うが、あなたが望む:

NSString *name = [[rows objectAtIndex:0] objectForKey:@"name"];

(不要な角括弧を削除し@"name"、文字列リテラルとして使用します)。

しかし、入力 JSON は本当に UTF-32 形式ですか?

于 2013-02-15T10:22:13.907 に答える
2

操作が成功したと仮定すると、次のようになりNSJSONSerializationます。

NSString *name = rows[0][@"name"];

NSUTF32BigEndianStringEncoding疑わしいのは、json データの方が一般的NSUTF8StringEncodingです。

于 2013-02-15T10:41:00.820 に答える
2
NSMutableArray *row= [NSJSONSerialization JSONObjectWithData: jsonData options:        NSJSONReadingMutableContainers error: &error];
        for (int i=0; i<[row count]; i++) {
            NSMutableDictionary *dict=[row objectAtIndex:i];;
            NSString * name=[dict valueForKey:@"name"];
            NSLog(@"%@",name);
        }
    }
于 2013-02-15T10:25:33.290 に答える