Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Deserialize Line-Delimited JSON dalam C# menggunakan JSON.NET?

Bagaimana untuk Deserialize Line-Delimited JSON dalam C# menggunakan JSON.NET?

Susan Sarandon
Lepaskan: 2025-01-22 16:52:10
asal
631 orang telah melayarinya

How to Deserialize Line-Delimited JSON in C# using JSON.NET?

Siri dan penyahsirilan data JSON yang dibatasi baris baharu dalam C#

Dalam C#, anda boleh memanfaatkan perpustakaan JSON.NET untuk memproses data JSON yang dibatasi baris baharu. Format data JSON ini penting untuk berinteraksi dengan perkhidmatan seperti Google BigQuery.

Proses pensirilan dan penyahserikatan

Anda boleh menggunakan JsonTextReader untuk menghuraikan data JSON yang dibatasi baris baharu. Langkah-langkah khusus adalah seperti berikut:

  1. Buat kelas POCO (seperti Foo atau Person) untuk mewakili struktur data JSON.
  2. Mulakan objek SupportMultipleContent menggunakan bendera true yang ditetapkan kepada JsonTextReader. Ini penting untuk mengendalikan berbilang objek JSON dalam satu aliran.
  3. Nyahsiri setiap objek JSON menggunakan JsonSerializer.

Jika anda perlu menyimpan hasil desiri sebagai senarai, tambahkan setiap item desiri pada senarai dalam satu gelung.

Contoh 1: Data JSON ringkas

Untuk data JSON berikut:

<code>{"some":"thing1"}
{"some":"thing2"}
{"some":"thing3"}</code>
Salin selepas log masuk

Kod berikut menunjukkan proses penyahserikatan:

<code class="language-csharp">var json = "{\"some\":\"thing1\"}\r\n{\"some\":\"thing2\"}\r\n{\"some\":\"thing3\"}";
var jsonReader = new JsonTextReader(new StringReader(json))
{
    SupportMultipleContent = true
};

var jsonSerializer = new JsonSerializer();
var fooList = new List<Foo>();

while (jsonReader.Read())
{
    fooList.Add(jsonSerializer.Deserialize<Foo>(jsonReader));
}</code>
Salin selepas log masuk

Contoh 2: Data JSON yang kompleks

Untuk data JSON yang lebih kompleks:

<code>{"kind": "person", "fullName": "John Doe", "age": 22, "gender": "Male", "citiesLived": [{ "place": "Seattle", "numberOfYears": 5}, {"place": "Stockholm", "numberOfYears": 6}]}
{"kind": "person", "fullName": "Jane Austen", "age": 24, "gender": "Female", "citiesLived": [{"place": "Los Angeles", "numberOfYears": 2}, {"place": "Tokyo", "numberOfYears": 2}]}</code>
Salin selepas log masuk

Buat kelas POCO Person dan nyahserialisasi menggunakan kaedah yang sama seperti Contoh 1.

Perlu ambil perhatian bahawa teknologi ini juga menyokong entri JSON yang dipisahkan koma menggunakan Json.Net 10.0.4 dan lebih tinggi.

Atas ialah kandungan terperinci Bagaimana untuk Deserialize Line-Delimited JSON dalam C# menggunakan JSON.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan