2013-02-12 6 views
4
"{\n \"connections\": {\n \"_total\": 1,\n \"values\": [{\n \"apiStandardProfileRequest\": {\n  \"headers\": {\n \"_total\": 1,\n   \"values\": [{\n 

Я не могу прочитать атрибуты этого строкового формата. Пожалуйста, предложите мне прочитать атрибуты из этого строкового формата.Как читать эту строку json с помощью C#?

+0

Проверить : http://stackoverflow.com/questions/7895105/json-deserialize-c-sharp –

+0

Проверьте: http://stackoverflow.com/questio нс/12676746/синтаксический анализ-JSON-строка-в-с-острая – Falaque

ответ

2

использовать этот метод может быть полезен

public static T Deserialise<T>(string json) 
{ 
    T obj = Activator.CreateInstance<T>(); 
    using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json))) 
    { 
     DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType()); 
     obj = (T)serializer.ReadObject(ms); // 
     return obj; 
    } 
} 

Кроме того, только для справки, вот метод Serialize:

public static string Serialize<T>(T obj) 
{ 
    DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType()); 
    using (MemoryStream ms = new MemoryStream()) 
    { 
     serializer.WriteObject(ms, obj); 
     return Encoding.Default.GetString(ms.ToArray()); 
    } 
} 
0
public static dynamic Deserialize(string content) 
{ 
return new System.Web.Script.Serialization.JavaScriptSerializer().DeserializeObject(content); 
} 

var f = Deserialize(json); 
List<Name> list = new List<Name>(); 

foreach(var item1 in (Dictionary<string, object>) f) 
{ 
Dictionary<string, object> item2 = (Dictionary<string, object>) item1.Value; 

list.Add(new Name(){ 
    id = (int) item2["id"], 
    name = (string) item2["name"], 
    age = (int) item2["age"] 
});    

} 

Этот код также работает отлично ...

Смежные вопросы