2016-08-15 35 views
-1

私たちの製品APIの1つでJSONオブジェクトが私に渡されることに問題があります。 Python 2.7を使用して、私たちのWebサイトに掲載されているジョブに関する詳細を顧客サービスチームに見せる機能を作成しています。 JSONパッケージは、配列とオブジェクトをそれぞれ含むオブジェクトの配列を返します。私はメインオブジェクトの中の一つのオブジェクトに関連付けられた配列を読み込む必要がありますが、それらはネストされていません。応募者の配列のように、ジョブのオブジェクトの中に入れ子になっていません。これは、私の通常の「応答[0] [0] ['applicantName']」はここでは機能しません。UPDATED:オブジェクトに配列と別の関連オブジェクトが同じレベルに含まれている場合のPythonでのJSONオブジェクトの解析

APIが実際に私に与えていることを表すために、以下のデータが更新されています。前に私の謝罪、私はデータを保護するために編集していた。それでも同じことが行われましたが、実際の結果です。

私がしたいのは、ユーザーがjobIdを入力させ、そのjobIDに関連するすべての応募者のリストを提供することです。 jobIDは非シーケンシャルであることがあるため、インデックス番号を使用することはできません。jobID番号でなければなりません。

誰かが助けることができますか?

は、相続人JSON構造は、私が手:私が言ったように、私はAPIと.jsonを呼び出すために、「要求」ライブラリを使用してのpython 2.7で働いている

[{u'bids': [{u'applicantId': 221, 
      u'comment': 'I have applied to the job'}, 
      {u'applicantId': 221, 
      u'comment': 'I have applied to the job'}], 
    u'job': {u'jobId': 1}}, 
{u'bids': [{u'applicantId': 221, 
       u'comment': 'I have applied to the job'}, 
       {u'applicantId': 221, 
       u'comment': 'I have applied to the job'}], 
    u'job': {u'jobId': 1}}] 

()それを読みます。

ありがとうございます!

+2

これはJSONではありません。 – user2357112

+0

あなたのデータは_really_そのように見える場合、それを生成するAPIが壊れています。そうでない場合は、実際の構造を推測することなく処理する方法を説明できるように、データサンプルを編集してください。 –

+0

これは、この問題のルックスライクJSON-けど、イマイチ-JSON形式に似ていますhttp://stackoverflow.com/questions/20691134/pyparsing-parsing-semi-json-nested-plaintext-data-to- a-list、いくつかのサンプルパーサーコードを含みます。 – PaulMcG

答えて

1

内容は、一般的なよく知られたjson.loads機能でそれを解析することはできませんを意味し、有効なJSONであるように思わないこと。

また、ast.literal_evalは有効なPython式ではないため、使用できません。

ない、これは良いアイデアと確信して...しかし、あなたは、私は外部のライブラリを探している代わりに、または単にサーバー・オブジェクトのタイプのための私自身のパーサーを書くことを試してみた文字列としてそのコンテンツを取得していると仮定それらを解析することができます。

+0

有効なポイントは、データをキャプチャして並べ替え、必要な操作を実行することができます。 – beerandsmiles

関連する問題