Rumah >pembangunan bahagian belakang >C++ >Mengapa Json.NET Melemparkan Ralat 'Watak Tidak Dijangka' Apabila Menyahsiri Laluan Fail?
Ralat Penghuraian Watak Tidak Dijangka dalam Json.NET
Apabila bekerja dengan Json.NET, anda mungkin menghadapi ralat "Watak tidak dijangka ditemui semasa menghuraikan nilai." Ralat ini biasanya berlaku apabila Json.NET cuba menyahsiri JSON yang tidak sah atau cacat bentuk.
Punca Ralat
Dalam kes yang disediakan, laluan fail JSON yang ditentukan ditetapkan kepada rentetan tmpfile. Walau bagaimanapun, kaedah DeserializeObject menjangkakan rentetan JSON yang sah sebagai hujahnya, bukan laluan fail. Akibatnya, ralat dilemparkan apabila Json.NET cuba menghuraikan laluan fail sebagai JSON.
Penyelesaian
Untuk menyelesaikan ralat ini, anda perlu mengubah suai kod untuk membaca kandungan fail JSON ke dalam rentetan dan kemudian deserialize rentetan menggunakan DeserializeObject. Berikut ialah kod yang diperbetulkan:
string json = File.ReadAllText(tmpfile); ViewerStatsFormat current = JsonConvert.DeserializeObject<ViewerStatsFormat>(json);
Dengan memuatkan kandungan fail ke dalam rentetan json, anda kemudiannya boleh memberikan Json.NET dengan data JSON yang sah yang perlu dinyahsiri.
Atas ialah kandungan terperinci Mengapa Json.NET Melemparkan Ralat 'Watak Tidak Dijangka' Apabila Menyahsiri Laluan Fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!