2012-03-16 4 views
0

я получаю этот тип JSON в параметре в моем C# проекта:asp.net веб-служба: преобразование JSON объекты

{ "results": [ 
{ 
    "FormID": 1, 
    "GateLetter": "B", 
    "ID": 1, 
    "FINNumber": "757", 
    "GateNumber": "345", 
    "FlightNumber": "1234", 
    "ShiftID": 1, 
    "LSAName": "", 
    "AirlineCode": "QK", 
    "LSAEmpID": "Another", 
    "FormName": "DFW Loader", 
    "createdAt": "2012-01-17T17:40:11.533Z", 
    "updatedAt": "2012-01-17T17:40:11.533Z", 
    "objectId": "sJS5iVXPot" 
}, 
{ 
    "FormID": 1, 
    "GateLetter": "", 
    "ID": 1, 
    "FINNumber": "", 
    "GateNumber": "", 
    "FlightNumber": "123", 
    "ShiftID": 1, 
    "LSAName": "", 
    "AirlineCode": null, 
    "LSAEmpID": "", 
    "FormName": "DFW Position", 
    "createdAt": "2012-01-17T20:58:17.932Z", 
    "updatedAt": "2012-01-17T20:58:17.932Z", 
    "objectId": "Ni8KspVjwA" 
}, 
{ 
    "FormID": 1, 
    "GateLetter": "a", 
    "ID": 1, 
    "FINNumber": "", 
    "GateNumber": "12", 
    "FlightNumber": "123", 
    "ShiftID": 1, 
    "LSAName": "", 
    "AirlineCode": "AC", 
    "LSAEmpID": "trent", 
    "FormName": "DFW Position", 
    "createdAt": "2012-01-17T23:31:11.686Z", 
    "updatedAt": "2012-01-17T23:31:11.686Z", 
    "objectId": "FXciW6zM6Q" 
} 

Но это не строка, мой вопрос: как я могу транспортировать это в строка или вар , чтобы иметь возможность десериализации его послесловие ...

в этот тип:

string data = @"[{""ShiftID"":""2"",""EmpName"":""dsdsfs""},{""ShiftID"":""4"",""EmpName"":""dsdsfd""}]"; 

этот тип может быть десериализации отлично, но не первый!

+0

Какой тип параметра, если не строка? байт[]? –

+0

Добро пожаловать в переполнение стека! Пожалуйста, помните, что оценка показана с помощью upvotes и принятых ответов (галочка). Если у вас есть какие-либо вопросы, обратитесь к [FAQ], я настоятельно рекомендую всем новичкам ознакомиться с [Ask] –

ответ

1

Я считаю, что то, что вы ищете, на самом деле является третьей стороной: JSON.NET. Я не знаю об этом переводе, как вы непосредственно упоминали, но он будет иметь дело с десериализацией в один из ваших ПОКО-х

0

Да, первые из них могут быть десериализации просто отлично:

public class FlightInfo 
{ 
    public string FormID {get;set;} 
    public string GateLetter {get;set;} 
    //... 
    public string objectId {get;set;} 
} 

public class FlightContainer 
{ 
    public List<FlightInfo> results; 
} 

JavaScriptSerializer js = new JavaScriptSerializer(); 
var deserializedObject = js.Deserialize<FlightContainer>(yourJsonString); 

Теперь вы можете получить доступ к ваши FlightInfo элементы, как так:

FlightInfo firstItem= deserializedObject.results[0];// by index 

Или вы можете перебирать их

foreach(var item in deserializedObject.results) 
{ 
    Console.WriteLine(item.FormID); 
} 
Смежные вопросы