2016-09-22 1 views
0

я хочу передать следующий JSON в качестве ссылки в моем консольном приложении в C#образования Json для отправки его функционирования

{"val1":["dfgdsfgdfgsdf"],"val2":258915,"val3":"PPaaaA","val4":null, 

"valJSON":"[{\"TypeID\":\"Z_FI_MDG\",\"SeverityCode\":\"3\",\"Note\":\"\\\"zczczca \\\\\\\"leading zero\\\\\\\". \\\\\\\\r\\\\\\\\n•YYY: Institution\"}]"} 

я делаю следующее, но он не работает

JsonSerializer serializer = new JsonSerializer(); 
      dynamic item = serializer.Deserialize<object>(" 
{"val1":["dfgdsfgdfgsdf"],"val2":258915,"val3":"PPaaaA","val4":null, 

    "valJSON":"[{\"TypeID\":\"Z_FI_MDG\",\"SeverityCode\":\"3\",\"Note\":\"\\\"zczczca \\\\\\\"leading zero\\\\\\\". \\\\\\\\r\\\\\\\\n•YYY: Institution\"}]"} 

"); 

любые иначе я могу передать это функции? к simplyfy

при попытке присвоить это строка дает ошибка может энион HLP меня

+0

Какие ошибки вы получаете? Что не работает точно? –

+0

отредактированный вопрос, я хочу fomr json и передать его –

ответ

0

Вы должны удалить тип объекта из вызова функции:

JsonSerializer serializer = new JsonSerializer(); 
    dynamic item = serializer.Deserialize("..."); 
0

Я хотел бы использовать решение Newtonsoft, в случае его возможно, я никогда не сожалел.

В вашем случае, я хотел бы использовать:

string json = @"{ 
    "val1": [ 
    "dfgdsfgdfgsdf" 
    ], 
    "val2": 258915, 
    "val3": "PPaaaA", 
    "val4": null, 
    "valJSON": "[{\"TypeID\":\"Z_FI_MDG\",\"SeverityCode\":\"3\",\"Note\":\"\\\"zczczca \\\\\\\"leading zero\\\\\\\". \\\\\\\\r\\\\\\\\n•YYY: Institution\"}]" 
}" 

dynamic rss = JObject.Parse(json); 

А затем доступа к значениям из него нравится:

var val2 = rss.val2; 

Я не уверен, если это то, что вы искал, но я пробовал ... подробнее: http://www.newtonsoft.com/json/help/html/QueryJson.htm

Затем, если вы хотите больше, как "установить" newtonsoft: How to install JSON.NET using NuGet?

0

Если вы хотите, чтобы разобрать JSON для точного класса вы можете попробовать это

RootObject item = JsonConvert.DeserializeObject<RootObject>(File.ReadAllText(@"D:\file.txt")); 

public class RootObject 
    { 
     public List<string> val1 { get; set; } 
     public int val2 { get; set; } 
     public string val3 { get; set; } 
     public object val4 { get; set; } 
     public string valJSON { get; set; } 
    }