-1

Objective-cで高レベルのJSONオブジェクトにアクセスするにはどうすればよいですか?これがJSONです

{
  user: "user",
  id: 39,
  image: "img.png",
  caption: "",
  lat: "37",
  lng: "-122",
  created_at: 1356910240
}

...そして私はこのようなことをする必要があります[JSONvalueFor???:????]

オブジェクト"identifier"を追加して、[JSON valueForKeyPath:@ "identifier"]のようにアクセスできますが、別の方法があるかどうか疑問に思っていますか?

identifier: {
  user: "user",
  id: 39,
  image: "img.png",
  caption: "",
  lat: "37",
  lng: "-122",
  created_at: 1356910240
}

ありがとう!

4

1 に答える 1

0

通常、JSON パーサーは、使用されている言語がキー/値のペアに使用するものに関係なく、辞書/ハッシュ/連想配列を返します。

ObjectiveC では、それはNSDictionary. したがって、パーサーは次のようにする必要があります。

NSDictionary *data = [SomeJSONParser decodeJson:jsonString];

そこから取得するに"user"は、次のようにします。

[data objectForKey:@"user"];

しかし、ルートノードが必要ですか? さて、あなたはすでにそれを持っています。ルート ノードは、パーサーが出力する辞書です。呼び出す魔法のメソッドはありません。ルート ノードは単にパーサーの結果です。

「カスタム パーサー」の動作が異なる場合は、変更することをお勧めします。これをあなたが望むようにすることは、あなたのパーサーのAPIとそれが返すオブジェクトのタイプに完全に依存しています。

于 2012-12-31T02:47:33.023 に答える