Saya hanya menggunakan XmlWriter untuk membuat XML untuk mengirim kembali dalam respons HTTP. Bagaimana Anda membuat string JSON. Saya berasumsi Anda hanya akan menggunakan stringbuilder untuk membangun string JSON dan mereka memformat respons Anda sebagai JSON?
238
Jawaban:
Anda bisa menggunakan kelas JavaScriptSerializer , periksa artikel ini untuk membangun metode ekstensi yang berguna.
Kode dari artikel:
Pemakaian:
sumber
Menggunakan Newtonsoft.Json membuatnya sangat mudah:
Dokumentasi: Melakukan Serialisasi dan Deserialisasi JSON
sumber
string json = JsonConvert.SerializeObject(new { "PropertyA" = obj.PropertyA });
."PropertyA"
bolehPropertyA
?string json = JsonConvert.SerializeObject(new { PropertyA = obj.PropertyA });
tanpa tanda kutip ganda padaPropertyA.
Perpustakaan ini sangat baik untuk JSON dari C #
http://james.newtonking.com/pages/json-net.aspx
sumber
Penggunaan simlpe dari Newtonsoft.Json dan Newtonsoft.Json.Linq perpustakaan.
sumber
Cuplikan kode ini menggunakan DataContractJsonSerializer dari System.Runtime.Serialization.Json di .NET 3.5.
sumber
Lihatlah http://www.codeplex.com/json/ untuk proyek json-net.aspx. Mengapa menemukan kembali roda?
sumber
Anda juga dapat mencoba ServiceStack JsonSerializer saya. Ini adalah serializer .NET JSON tercepat saat ini. Ini mendukung serialisasi DataContracts, semua Jenis POCO, Antarmuka, objek Terlambat termasuk jenis anonim, dll.
Contoh dasar
Catatan: Hanya gunakan Microsoft JavaScriptSerializer jika kinerjanya tidak penting bagi Anda karena saya harus meninggalkannya dari tolok ukur saya karena itu hingga 40x-100x lebih lambat daripada serialisator JSON lainnya.
sumber
Jika Anda membutuhkan hasil yang rumit (tertanam) buat struktur Anda sendiri:
dan kemudian Anda bisa mendapatkan string JSON dengan menelepon
Hasilnya akan seperti ini:
Semoga ini bisa membantu!
sumber
Jika Anda tidak dapat atau tidak ingin menggunakan dua serializers JSON bawaan ( JavaScriptSerializer dan DataContractJsonSerializer ), Anda dapat mencoba perpustakaan JsonExSerializer - Saya menggunakannya dalam sejumlah proyek dan bekerja dengan cukup baik.
sumber
Jika Anda mencoba membuat layanan web untuk menyajikan data melalui JSON ke halaman web, pertimbangkan untuk menggunakan ASP.NET Ajax toolkit:
http://www.asp.net/learn/ajax/tutorial-05-cs.aspx
Ini akan secara otomatis mengonversi objek Anda yang dilayani melalui layanan web ke json, dan membuat kelas proxy yang dapat Anda gunakan untuk menghubungkannya.
sumber
The DataContractJsonSerializer akan melakukan semuanya untuk Anda dengan mudah sama seperti XMLSerializer tersebut. Sepele untuk menggunakannya di aplikasi web. Jika Anda menggunakan WCF, Anda bisa menentukan penggunaannya dengan atribut. Keluarga DataContractSerializer juga sangat cepat.
sumber
Saya telah menemukan bahwa Anda tidak memerlukan serializer sama sekali. Jika Anda mengembalikan objek sebagai Daftar. Biarkan saya menggunakan contoh.
Dalam asmx kami, kami mendapatkan data menggunakan variabel yang kami lewati
Kemudian menggunakan jquery kita mengakses layanan, meneruskan variabel itu.
Dan kami mendapat tanggapan.
sumber
Encode Penggunaan
Objek sederhana ke JSON Array EncodeJsObjectArray ()
Hasil: [[29, "mike"], [5, "dummy"]]
Penggunaan Cantik
Cukup cetak JSON Array PrettyPrintJson () metode ekstensi string
Hasil adalah:
sumber