diff --git a/qiskit_aer/backends/aerbackend.py b/qiskit_aer/backends/aerbackend.py index 4ff9a3d6ed..06481ae144 100644 --- a/qiskit_aer/backends/aerbackend.py +++ b/qiskit_aer/backends/aerbackend.py @@ -426,13 +426,13 @@ def _execute_circuits_job(self, circuits, noise_model, config, job_id="", format # Take metadata from headers of experiments to work around JSON serialization error metadata_list = [] for idx, circ in enumerate(circuits): + metadata_list.append(circ.metadata) + # TODO: we test for True-like on purpose here to condition against both None and {}, + # which allows us to support versions of Terra before and after QuantumCircuit.metadata + # accepts None as a valid value. This logic should be revisited after terra>=0.24.0 is + # required. if circ.metadata: - metadata = circ.metadata - metadata_list.append(metadata) - circ.metadata = {} - circ.metadata["metadata_index"] = idx - else: - metadata_list.append(None) + circ.metadata = {"metadata_index": idx} # Run simulation aer_circuits = assemble_circuits(circuits)