I am trying to iterate through a JSON object and obtain specific values in the swift programming language.
I am receiving a JSON like so
let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String : Any], let charges = json["charges"] as? [String:Any] json:
{ object: 'list', data: [ { id: 'ch_1IWQEfKn7R1M6tqnhrpyIhMk', object: 'charge', amount: 555, amount_captured: 555, amount_refunded: 0, application: 'ca_IXRQuoBh5mSJXXpEccXssma6Oz0u3HjX', application_fee: 'fee_1IWQEfKn7R1M6tqnvTHQeSEF', application_fee_amount: 6, balance_transaction: 'txn_1IWQEfKn7R1M6tqnkK9LCNuM', billing_details: [Object], calculated_statement_descriptor: 'TEST ACCOUNT', captured: true, created: 1616090777, currency: 'usd', customer: null, description: null, destination: null, dispute: null, disputed: false, failure_code: null, failure_message: null, fraud_details: {}, invoice: null, livemode: false, metadata: {}, on_behalf_of: null, order: null, outcome: [Object], paid: true, payment_intent: 'pi_1IWQEeKn7R1M6tqnYbGfFCzg', payment_method: 'pm_1IWQEeKn7R1M6tqnKLxSg6vZ', payment_method_details: [Object], receipt_email: null, receipt_number: null, receipt_url: 'https://pay.stripe.com/receipts/acct_1ISouBKn7R1M6tqn/ch_1IWQEfKn7R1M6tqnhrpyIhMk/rcpt_J8hdy05N6VfOmRECdumpti8Jiljz2Et', refunded: false, refunds: [Object], review: null, shipping: null, source: null, source_transfer: null, statement_descriptor: null, statement_descriptor_suffix: null, status: 'succeeded', transfer_data: null, transfer_group: null }, { id: 'ch_1IU62QKn7R1M6tqnbXXlOpch', object: 'charge', amount: 5599, amount_captured: 5599, amount_refunded: 0, application: 'ca_IXRQuoBh5mSJXXpEccXssma6Oz0u3HjX', application_fee: 'fee_1IU62RKn7R1M6tqnLle3zblA', application_fee_amount: 56, balance_transaction: 'txn_1IU62RKn7R1M6tqn3ttu9F3N', billing_details: [Object], calculated_statement_descriptor: 'TEST ACCOUNT', captured: true, created: 1615536482, currency: 'usd', customer: null, description: null, destination: null, dispute: null, disputed: false, failure_code: null, failure_message: null, fraud_details: {}, invoice: null, livemode: false, metadata: {}, on_behalf_of: null, order: null, outcome: [Object], paid: true, payment_intent: 'pi_1IU62NKn7R1M6tqnWSOLJVge', payment_method: 'pm_1IU62PKn7R1M6tqnIyOUgUMX', payment_method_details: [Object], receipt_email: null, receipt_number: null, receipt_url: 'https://pay.stripe.com/receipts/acct_1ISouBKn7R1M6tqn/ch_1IU62QKn7R1M6tqnbXXlOpch/rcpt_J6Id30gjIhQU6AWPBHgUXoujbhFOTyf', refunded: false, refunds: [Object], review: null, shipping: null, source: null, source_transfer: null, statement_descriptor: null, statement_descriptor_suffix: null, status: 'succeeded', transfer_data: null, transfer_group: null }, { id: 'ch_1IU60cKn7R1M6tqny9o2NV5W', object: 'charge', amount: 1000, amount_captured: 1000, amount_refunded: 0, application: 'ca_IXRQuoBh5mSJXXpEccXssma6Oz0u3HjX', application_fee: 'fee_1IU60cKn7R1M6tqn95nUHETe', application_fee_amount: 10, balance_transaction: 'txn_1IU60cKn7R1M6tqnZKNbSEXf', billing_details: [Object], calculated_statement_descriptor: 'TEST ACCOUNT', captured: true, created: 1615536370, currency: 'usd', customer: null, description: null, destination: null, dispute: null, disputed: false, failure_code: null, failure_message: null, fraud_details: {}, invoice: null, livemode: false, metadata: {}, on_behalf_of: null, order: null, outcome: [Object], paid: true, payment_intent: 'pi_1IU60ZKn7R1M6tqnrUSK1TQD', payment_method: 'pm_1IU60bKn7R1M6tqnAUHQXqJG', payment_method_details: [Object], receipt_email: null, receipt_number: null, receipt_url: 'https://pay.stripe.com/receipts/acct_1ISouBKn7R1M6tqn/ch_1IU60cKn7R1M6tqny9o2NV5W/rcpt_J6Ib5PEZQzEgyXWoOwKcxZ9x7mByCVu', refunded: false, refunds: [Object], review: null, shipping: null, source: null, source_transfer: null, statement_descriptor: null, statement_descriptor_suffix: null, status: 'succeeded', transfer_data: null, transfer_group: null } ], has_more: true, url: '/v1/charges' } How can I iterate through the JSON object to receive "amount", "currency", and "id".
For example PSUEDO:
for item in charges { print(item["amount"]) print(item["currency"]) print(item["id"]) } I may be initializing the json improperly such as
https://stackoverflow.com/questions/66701581/loop-through-json-object-swift-5 March 19, 2021 at 10:02AMjson["charges"] as? [String:Any]
没有评论:
发表评论