2012-01-05 10 views
2

私は、iOS5でのJSON解析のネイティブソリューションがあることを知りました。大部分のユーザーが使用する外部JSONフレームワークではなく、それを使用できることは素晴らしいことです。iOS5上の複雑なJSON

のiOS上でネイティブJSONを使用する方法についての記事がここにある: http://www.raywenderlich.com/5492/working-with-json-in-ios-5

今、私の質問は:これまでのところ、簡単にフォーマットされたJSONを処理するために非常に簡単そうですが、私は、私がアクセスできる方法を理解するために問題を抱えていますより複雑なデータスキーム。

たとえば、3つの辞書を含むJSONオブジェクトがあり、それぞれに異なる配列と辞書がエントリとして含まれている場合、このデータへのアクセス方法はわかりません。

Javaでは、最初のオブジェクトにアクセスするobj1.dictionary1 [3] .varnameのようなサブデータにアクセスするためにドット表記を使用して、辞書1の位置3に行き、varnameのキー値を取得できます。 ... iOS JSONの機能のみを使用して同じ結果を得るにはどうすればよいですか?

悲しいことに、iOS用のネイティブなJSONフレームワークは、JavaでJSONオブジェクトを使用するロジックに従っていないようです。そのため、私の目的を達成する方法はかなりわかりません。

ネイティブJSONを削除し、オンラインで入手できるJSONフレームワークを使用する必要がありますか?

ご迷惑をおかけして申し訳ありません。

+0

「Java」または「JavaScript」にアクセスするためのドキュメントを参照してください。 – fge

+0

Java、ポストで述べたように。 – user1006198

+0

Errいいえ、あなたはJavaでこのようにJSONにアクセスすることはできません。ジャクソンのようなJDKの外部ライブラリで行われます。 – fge

答えて

1

いいえ「ドット表記」は使用できません。 NSArrayとそのobjectAtIndexとをともにNSDictionaryとそのobjectForKeyと一緒に使用する必要があります。

IOS JSON get all values from a "JSON Dict"

ほとんどの場合、サードパーティのライブラリには似たようなAPIがあります(つまり、ネストされた辞書や配列を返します)。オブジェクトのような "ドット表記法"を提供するライブラリは見たことがありません。

+0

ありがとうKrizz;私はJSONのデータを取得するためのハード・マニュアルを保存することを望んでいましたが、最終的にはJSON形式から辞書や配列形式への変換であるため、作成したかのようにネイティブにトラバースできますそれらを投入します。誰かがキーを呼び出して値を取得するAPIを作成しただけでは(階層表記を使用する必要はなく)複雑なJSONフィードを扱うときには時間を節約できます。 – user1006198

+0

私はそれが[KVC](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/KeyValueCoding.html)で可能であると信じています。 – Krizz

+0

@Krizzy KVCについての私の研究に基づいて、KVCは特定の配列インデックスにアクセスする手段がないため、必ずしも可能ではありません。したがって、データ構造に配列が含まれている場合、KVCは動作しません。 –

1

これはJSONではなくobjective-cデータ構造をトラバースするときの構文に関する質問です。 NSDictionaryNSArray

+0

清算していただきありがとうございます。iOSのJSONを解析するオブジェクトも暗黙のうちにJava上のオブジェクトと同じように動作するので、obj-cにドット構文と同等の機能を使用できない理由はわかりませんでした。オブジェクトが行うことはすべて、JSONから通常のNSDictionaryおよびNSArrayへの変換ですか? – user1006198

+0

はい。これは、生のJSONを基本的なobjective-cデータ構造、注目すべきNSArrays、NSDictionaries、NSStrings、NSNumberに変換します – coneybeare

関連する問題