リストまたはスライス内の複数の数値からデータを解析する-TypeError:リストインデックスは整数またはスライスである必要があり、strではありません

Jaton Jameer Justice

問題

freshdeskからすべてのサポートチケットのステータスのリストを取得しようとしています。

これまでのところ、すべてのチケットをrequest.getすることができましたが、情報が多すぎます。そのため、jsonデータから「ステータス」のみを取得しようとしています。

チケットの情報を1つだけ印刷したい場合は、次のようになります。

ticketresponse = requests.get(freshdeskticketsurl, auth = (freshdeskapi, freshdeskpassword))
ticket_json = ticketresponse.json()


ticket_str = json.dumps(ticket_json[0], indent=2)
print(ticket_str)

応答:

{
  "cc_emails": [],
  "fwd_emails": [],
  "reply_cc_emails": [],
  "ticket_cc_emails": [],
  "fr_escalated": false,
  "spam": false,
  "email_config_id": null,
  "group_id": 43000110950,
  "priority": 1,
  "requester_id": taking that out of this example,
  "responder_id": taking that out of this example,
  "source": 3,
  "company_id": taking that out of this example,
  "status": 5,
  "subject": "Receptiontv-min - can't use slide show in powerpoint",
  "association_type": null,
  "support_email": null,
  "to_emails": null,
  "product_id": null,
  "id": taking that out of this example,
  "type": "Trouble Ticket",
  "due_by": "2021-03-09T19:21:09Z",
  "fr_due_by": "2022-02-25T19:21:09Z",
  "is_escalated": false,
  "custom_fields": {},
  "created_at": "2021-03-02T19:21:09Z",
  "updated_at": "2021-03-02T19:21:16Z",
  "associated_tickets_count": null,
  "tags": []
}

「ステータス」セクションのみが必要ですこれを行うことで、たった1つのチケットでそれを行うことができます。

ticketresponse = requests.get(freshdeskticketsurl, auth = (freshdeskapi, freshdeskpassword))
ticket_json = ticketresponse.json()


ticket_str = json.dumps(ticket_json[0]['status'], indent=2)
print(ticket_str)

応答:

5

しかし、私が問題を抱えているのは、すべてのチケットのステータスを一度に印刷しようとしていることです。を使用して、すべてのチケットを一度に印刷できますticket_str = json.dumps(ticket_json, indent=2) print(ticket_str)

ただし、次のコード行のいずれかを試してすべてのステータスを取得しようとすると、同じエラーが発生します。

ticket_str = json.dumps(ticket_json['status'], indent=2)

応答 TypeError: list indices must be integers or slices, not str

ticketslice = slice(0,20) ticket_str = json.dumps(ticket_json[ticketslice]['status'], indent=2)

応答 TypeError: list indices must be integers or slices, not str

誰かが何かアイデアを持っているか、アイデアに対して異なるアプローチを持っている場合は、私に知らせてください。

お時間をいただきありがとうございます、

クリス

応答配列でループする必要があるすべてのステータスが必要な場合は、次のようになります。

for i in range(len(ticket_json)):
    ticket_str = json.dumps(ticket_json[i], indent=2)
    print(ticket_str['status'])

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ