Memproses JSON dari httpresponsemessage (C#)

pemrograman

[ad_1]

Saya mencoba memproses data JSON yang saya ambil dari Web API.

C#
HttpResponseMessage response = await client.PostAsJsonAsync(
                   "api/my_report", report_request);

response.EnsureSuccessStatusCode();

var content = await response.Content.ReadAsByteArrayAsync();
var options = new JsonSerializerOptions() { PropertyNameCaseInsensitive = true };
var result = JsonSerializer.Deserialize<ienumerable>(content, options);

Ketika saya memeriksa variabel hasil (di atas) dalam mode debug, saya melihat bahwa entri dihitung dan memiliki bentuk umum ini;

[0] ValueKind = Object : "{"employee_code":"OU812","employee_name":"Alex","work_date":"2024-02-01","manager_name":"Eddie","manager_code":"5150","worked_hours":1,"division":"ROCK"}"

[1] ValueKind = Object : "{"employee_code":"5309","employee_name":"Jenny","work_date":"2024-02-01","manager_name":"Tutone","manager_code":"867","worked_hours":5,"division":"80S ROCK"}"
...etc

Sekarang saya harus menelusuri daftar yang disebutkan dan mendapatkan akses ke data elemen – kode_karyawan, nama_karyawan, dll.

Namun sejauh ini yang bisa saya lakukan hanyalah mengakses setiap “objek” lengkap:

C#
IEnumerator enumerator = result.GetEnumerator();

int n = 0;
while (enumerator.MoveNext() && n < 5)
{
   Console.WriteLine(enumerator.Current);
   n++;
}

Bantuan apa pun akan dihargai,
Martin

Apa yang saya coba:

Saya telah mencoba mendefinisikan kelas yang cocok dengan data JSON tetapi saya mendapatkan kesalahan karena tidak dapat mengonversi konten HTTPResponseExample ke kelas itu. (Saya tidak dapat mereproduksi kesalahan persisnya sekarang.)

Solusi 1

Ada alat untuk membantu Anda mengonversi JSON mentah menjadi kelas C#. Salah satu alat andalan saya adalah Utilitas JSON: Hasilkan C#, VB.Net, Tabel SQL, dan Java dari JSON[^]. Saya mencantumkan lebih banyak di artikel saya: >Bekerja dengan Newtonsoft.Json di C# & VB[^] & Bekerja dengan System.Text.Json di C#[^]. Saya juga membahas secara detail cara bekerja dengan deserialisasi data JSON.

[ad_2]

コメント

タイトルとURLをコピーしました