Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mendapatkan Objek String dari JSON dalam Python 2?
Cara Mendapatkan String Objects daripada JSON dalam Python 2
Apabila menghuraikan data JSON daripada fail teks berkod ASCII dalam Python 2, anda boleh menghadapi isu nilai rentetan yang dihantar ke objek Unicode. Ini boleh menjadi masalah apabila bekerja dengan pustaka yang hanya menerima objek rentetan.
Penyelesaian Ringan: PyYAML
Untuk menyelesaikan isu ini, anda boleh memanfaatkan pustaka PyYAML. Oleh kerana JSON ialah subset YAML, PyYAML boleh digunakan untuk menghuraikan fail JSON dan mengembalikan kunci dan nilai sebagai rentetan dan bukannya objek Unicode. Berikut ialah contoh:
<code class="python">import yaml original_list = ['a', 'b'] yaml_list = yaml.safe_load(yaml.dump(original_list)) print(type(yaml_list[0])) # Output: <class 'str'></code>
Pendekatan Penukaran
Jika anda tidak boleh menggunakan PyYAML, pertimbangkan untuk menggunakan fungsi penukaran. Fungsi penukaran Mark Amery adalah mudah dan berkesan:
<code class="python">def unicode_to_str(obj): if isinstance(obj, unicode): return obj.encode('utf-8') elif isinstance(obj, list): return [unicode_to_str(x) for x in obj] elif isinstance(obj, dict): return {unicode_to_str(k): unicode_to_str(v) for k, v in obj.items()} return obj</code>
Kaveat:
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Objek String dari JSON dalam Python 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!