2011-11-14 23 views
5

MVC3 ASP.NET'te gelen JSON istek gövdesini bir argüman biçiminde basit bir belirtilen nesneye eşleştirecek gerçekten kullanışlı buldum ...Bir JSON dizesini gerçek bir nesne tanımına nasıl bağlarsınız?

Bu işlevsellik dışında bir şekilde kullanmanın bir yolu var mı? özel kullanım durumu?

Standart .NET programında daha da ileriye götürmek için bir json dizgisi alın ve onu gerçek bir nesneye (bağla) eşleştirin ... (sözlük değil)?

cevap

11

Elbette, ASP.NET MVC'nin kullandığı JavaScriptSerializer sınıfı veya Json.NET gibi bir üçüncü taraf kitaplığı gibi bir JSON serileştiricisi kullanabilirsiniz. Örneğin:

using System; 
using System.Web.Script.Serialization; 

public class Customer 
{ 
    public string Name { get; set; } 
    public int Age { get; set; } 
} 

class Program 
{ 
    static void Main() 
    { 
     var serializer = new JavaScriptSerializer(); 
     var json = "{name: 'John', age: 15}"; 
     var customer = serializer.Deserialize<Customer>(json); 
     Console.WriteLine("name: {0}, age: {1}", customer.Name, customer.Age); 
    } 
} 

veya Json.NET ile isterseniz:

using System; 
using Newtonsoft.Json; 

public class Customer 
{ 
    public string Name { get; set; } 
    public int Age { get; set; } 
} 

class Program 
{ 
    static void Main() 
    { 
     var json = "{name: 'John', age: 15}"; 
     var customer = JsonConvert.DeserializeObject<Customer>(json); 
     Console.WriteLine("name: {0}, age: {1}", customer.Name, customer.Age); 
    } 
} 
+0

Müthiş ... kullandığım 'Dictionary ' sayesinde bakmış her bir örnek! – jondavidjohn

İlgili konular