これは繰り返しまたは簡単な質問の場合にはお詫び申し上げます。OOP - オブジェクトデータへのアクセス
私は最近Pythonを学んでいます(単純なMATLABスクリプトを長年使っています)。私は、オブジェクト指向プログラミングとJSONを学び始めました。
APIを使用してサーバーからデータを収集しようとしています。オブジェクトが返されるとき、私はほとんどの場合、特定のデータフィールドにアクセスするための構文を使用してうまくやっています。しかし、私は苦労している。私は単一の結果(result[0]
)のために、「OBJECTID」属性にアクセスしようとしています
row = {"totalCount": 1, "results": [{"parentObjectId": 887, "contextData": ["Row 1"], "parentObjectType": "sheet", "objectId": 599, "text": "Text", "parentObjectName": "Data", "objectType": "row"}]}
:私は、行オブジェクトを持っています。
私はrowId = row.results[0].objectId
を試しましたが、エラー "'SearchResultItem'オブジェクトに 'objectId'属性がありません。
私もrowId = row.results[0]['objectId']
を試しましたが、エラー "'SearchResultItem'オブジェクトには属性 '__getitem__
'"がありません。
--- EDIT:
print(reportingRow.results[0]['objectId'])
Traceback (most recent call last):
File "<ipython-input-46-14e026c273e3>", line 1, in <module>
print(reportingRow.results[0]['objectId'])
TypeError: 'SearchResultItem' object has no attribute '__getitem__'
私はSmartsheetと呼ばれるツールを使用しています。私はsearch_sheetリクエストを使用しています。 APIドキュメント(http://smartsheet-platform.github.io/api-docs/#search-sheet)は、 'SearchResultItem'は多数の属性を含むオブジェクトであると言います。これ以上の情報はありません。
スマートシートのモデルは、https://github.com/smartsheet-platform/smartsheet-python-sdk/tree/master/smartsheet/modelsです。私は現在search_result.pyとsearch_result_item.pyを見て答え/手がかりを見つけています。
--- EDIT
任意の助けてくれてありがとうOF END!
あなたのオブジェクトは辞書ではありません(あなたがそれを印刷したときのようなものです)。あなたのエラーは明らかにそれが 'SearchResultItem'だと言います。 'SearchResultItem'がどのようなインターフェースを実装しているのかわからないので、私たちはあなたを助けません。 –
'SearchResultItem'が何であるかをお知らせください.Json文字列でも辞書でもありません。 – tianwei
データの取得先からAPIの全回答をご提供いただき、問題の発生場所をお知らせください。 –