2013-09-25 2 views
0

Как десериализировать его в переменных? C#. Приведите пример пожалуйста, уже второй день и не попал в библиотеку Json.NETC# Как десериализировать его в переменных?

{"messages":[{"text":"TEXT MESSAGE","channel":"main":"from":"USERNAME","fromid":651765,"t":1379970985409,"tc":"f16d7e"}}} 

Так

void timer_Tick(object sender, EventArgs e) 
     { 


      string json = @"{""messages"":[{""text"":""TEXT MESSAGE"",""channel"":""main"":""from"":""USERNAME"",""fromid"":651765,""t"":1379970985409,""tc"":""f16d7e""}}} "; 


      dynamic stuff = Newtonsoft.Json.JsonConvert.DeserializeObject(json); 
      string color = stuff.text; 
      label1.Text = color; 


     } 

После анализа значения неожиданный персонаж встречается::. Path '[0] .channel', строка 1, позиция 52.

+0

У вас есть ошибки в формате JSON. Проверьте свой формат здесь: http://jsonlint.com/ –

+2

Хороший пример * «почему это плохая идея для создания json вручную» *. Я не думаю, что любой синтаксический анализатор json создаст этот недопустимый json. – I4V

ответ

1

Я думаю, что двоеточие между основным и из должно быть запятой. А второе закрытие курчавое должно быть квадратным.

Так что ваша строка:

@"{""messages"":[{""text"":""TEXT MESSAGE"",""channel"":""main"":""from"":""USERNAME"",""fromid"":651765,""t"":1379970985409,""tc"":""f16d7e""}}} "; 

должно быть что-то вроде этого:

@"{""messages"":[{""text"":""TEXT MESSAGE"",""channel"":""main"",""from"":""USERNAME"",""fromid"":651765,""t"":1379970985409,""tc"":""f16d7e""}]} "; 
+0

Чтобы ответить на этот вопрос, добавьте также, как вы получите * color * correctcly, – I4V

+0

@ I4V Я не согласен. Демпинг готового к вставке кода здесь, особенно без объяснения причин, крайне непривычен для OP и будущих посетителей. Тостстен упомянул, что неправильно в отношении ввода, который решает ошибку OP: _ «После разбора значения произошел неожиданный символ» _. – CodeCaster

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