2010-11-20 17 views
0

JSONオブジェクトの構造を取得するには、その内容を事前に知る必要がありません。詳述すると、私は構造が未知のJSONをデコードする

さえ
[{"x":0,"y":0.4991088274400681,"z":7.489443555361306}, {"x":0,"y":0.7991088274400681,"z":7.489343555361306},{"x":0,"y":0.5991088274400681,"z":7.482445555361306}] 

か何かを与えられる可能性が狂ったように:つまり

'AL': {name:'Alabama', landarea:131426, waterarea:4338, population:[3525342,4243844]}, 
'AK': {name:'Alaska', landarea:1418400, waterarea:234324, population:[43230943,43230943]} 

、私は私が取得するつもりだJSONの種類見当がつかないが、私は思います最初のものにx、y、zが付いていることを知りたいのですが、AL、AKと名前、landarea、waterarea、および2番目の人口の配列があります。

これは、Excelの列ヘッダーを取得するようなものです。 私は繰り返し構造があることを知っています。

JSON_decodeを使用してこれを解析し、typeOf検査を実行してオブジェクト/配列/文字列を調べる唯一の方法はありますか?それはむしろぎこちないようです。

+3

私は新しいAPIを要求しますが、2つの異なるデータセットを1つのリクエストに返すべきではありません。 – mpapis

+0

apiが異なるデータセットを返すわけではありません。ユーザーフィードのJSONを解析しています。異なるフォーマットであること。少し危険です、私は知っています。 – Rio

答えて

3

ブラウザのネイティブなJSONデコード機能は、整形式のJSONを処理できます。あなたが望むのは、が解読されたJSONをと理解できる関数です。これは不可能です。少なくとも、データの事前知識や取り扱い方法が全くないときではありません。ただし、各コンポーネントのデータ型がわかっていれば、typeofは正常に動作します。

+0

agree - json_decodeはプロパティxがy要素の配列を持っていることをすでに伝えています。例えば暗黙的です。 OPは余分なセマンティックな意味を集めようとしていると思われ、*いくつかの事前知識なしでこれを行う方法はありません。 – Hamish

+1

ありがとうございます。少なくとも私は車輪を再発明しようとしていることを心配することなく進めることができます。 – Rio

関連する問題