2012-01-07 39 views

Trả lời

7

Nơi bạn muốn xác thực json, ở phía máy chủ hoặc phía máy khách. Giả sử bạn muốn làm điều đó trên phía máy chủ, hãy thử deserializing chuỗi json. nếu nó vỡ, thì nó không phải là một json hợp lệ. Sử dụng JavaScriptSerializer cho mục đích deserializing

var serializer = new JavaScriptSerializer(); 
var result = serializer.Deserialize<Dictionary<string, object>>(json); 
1

Nếu bạn đang sử dụng phần mềm JSON.net, bạn có thể làm chính xác như Anand đã nêu. Đơn giản chỉ cần deserialize chuỗi JSON và nếu nó phá vỡ hoặc lỗi ra, sau đó nó không phải là một cấu trúc JSON hợp lệ. Bây giờ, nếu bạn đang cố gắng làm điều gì đó như http://jsonlint.com/ thì có thể bạn đang vượt ra ngoài phạm vi của những gì chúng tôi có thể giúp bạn với các diễn đàn. Nếu bạn muốn kiểm tra xem nó lỗi ra hay không, chỉ cần sử dụng đoạn mã sau trong C# mà kết quả là chuỗi JSON:

var root = JsonConvert.DeserializeObject<RootObject>(result); 

nơi các thông tin bạn muốn deserialize từ chuỗi JSON sẽ phải có một lớp của RootObject tương tự như:

public class RootObject 
{ 
    // You would need to create items here to store each of the objects' information in the JSON file. 
    // For example: 
    public string itemName { get; set; } 
    public int itemID { get; set; } 
} 

Bây giờ, điều này giả định rằng bạn biết thông tin NÊN nằm trong tệp JSON. Nếu không, đó là toàn bộ chương trình trong và của chính nó.

+1

Sẽ thật thú vị khi biết định nghĩa của "ngắt hoặc lỗi" ở đây. Tôi nhận thấy rằng các tài liệu XML cho JsonConvert.DeserializeObject() không nói những gì ngoại lệ được ném nếu bất kỳ một trong hai ... – PandaWood

Các vấn đề liên quan