2012-12-10 2 views
0

Как десериализовать этот текст. Я пробовал с JSON, но получаю ошибку «Неверный JSON-примитив».Deserialize GET response

{ 
"meta": { 
    "limit": 20, 
    "next": null, 
    "offset": 0, 
    "previous": null, 
    "total_count": 1 
}, 
"objects": [ 
    { 
    "blocked": false, 
    "groups": [], 
    "id": "1111", 
    "name": "John Doe", 
    "number": "+15555555555", 
    "resource_uri": "/api/v1/contacts/1111/" 
    } 
] 
} 

Это код, который я использовал:

var jss = new JavaScriptSerializer(); 
var dictionary = jss.Deserialize<Dictionary<string, string>>(buffer.ToString()); 

ответ

1

Легко исправить. Deserialize к <Dictionary<string, object> вместо <Dictionary<string, string>

var dictionary = jss.Deserialize<Dictionary<string, object>>(buffer.ToString()); 

Полный тестовый код

string json = @"{ 
    ""meta"": { 
     ""limit"": 20, 
     ""next"": null, 
     ""offset"": 0, 
     ""previous"": null, 
     ""total_count"": 1 
    }, 
    ""objects"": [ 
     { 
      ""blocked"": false, 
      ""groups"": [], 
      ""id"": ""1111"", 
      ""name"": ""John Doe"", 
      ""number"": ""+15555555555"", 
      ""resource_uri"": ""/api/v1/contacts/1111/"" 
     } 
     ] 
    }"; 

var jss = new JavaScriptSerializer(); 
var dictionary = jss.Deserialize<Dictionary<string, object>>(json);