2008-10-01 3 views
15

Trước hết, hãy để tôi bắt đầu rằng tôi không phải là nhà phát triển .net. Lý do tại sao tôi hỏi câu hỏi này là chúng tôi đã triển khai REST-API của mình và một trong những đối tác tích hợp đầu tiên của chúng tôi là một cửa hàng .net. Vì vậy, về cơ bản, chúng tôi giả định rằng .net sẽ cung cấp một số loại trình bao bọc để tạo JSON, nhưng nhà phát triển được đề cập đã tạo ra chuỗi một cách thủ công. Tôi đã nghiên cứu chủ đề này một chút và tôi thực sự không thể tìm thấy bất cứ điều gì, mặc dù tôi tin rằng .net cung cấp một cái gì đó. :)Tạo JSON với .net

'current code  
Dim data As String 
data = "[hello, world]" 

Trong PHP tôi sẽ làm như sau (giả sử ext/json có sẵn;):

<?php 
$json = array('hello', 'world'); 
$json = json_encode($json); 

Tôi cũng quan tâm đến những gì bạn sử dụng để giải mã các json vào một mảng/đối tượng kết cấu.

Trợ giúp được đánh giá cao.

Trả lời

15

Có một vài tùy chọn của bên thứ nhất và bên thứ ba. Rick Strahl có tổng quan tốt. JSON.net là tùy chọn phổ biến nhất của bên thứ ba.

+1

Điều này có vẻ khá tốt. Tôi sẽ điều tra điều này và sẽ cho bạn biết. Cảm ơn cho đến nay! (Xin lỗi, tôi không có phiếu bầu nào ngay bây giờ. Bất kể tôi sẽ chọn gì, tôi sẽ bỏ phiếu cho ngày mai này.) – Till

10

Xem Is there a built in way in .Net AJAX to manually serialize an object to a JSON string?

Đó là để nói, trong .NET 2.0,

Dim yourData As String() = { "Hello", "World" } 
Dim jsonSerialiser As New System.Web.Script.Serialization.JavaScriptSerializer 
Dim jsonString as String = jsonSerialiser.Serialize(yourData) 

Trong .NET 3.5, gửi chúng vào blog Rick Strahl của, đề cập ở trên

+0

Tôi thấy điều này, nó không thực sự trả lời câu hỏi của tôi. Hoặc có lẽ tôi không hiểu. – Till

+0

Cảm ơn bạn đã mở rộng câu trả lời. – Till

7

Json.Net là một dễ dàng để sử dụng thư viện với một số tính năng thú vị.

+0

Chỉ cần thử nó và nó hoạt động hoàn hảo! Cảm ơn –

2

Tôi đang sử dụng Wayne - JSON.net hoạt động tốt. Điều tốt đẹp là, nó hoạt động tốt mà không có đường cong học tập.

3

JavaScriptSerializer rất thẳng về phía trước.

Person person = new Person(); 

JavaScriptSerializer serializer = new JavaScriptSerializer(); 
String json = serializer.Serialize(person);